Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用windows命令行删除变量中包含特定字符的文本_Windows_Batch File_Replace_Command - Fatal编程技术网

使用windows命令行删除变量中包含特定字符的文本

使用windows命令行删除变量中包含特定字符的文本,windows,batch-file,replace,command,Windows,Batch File,Replace,Command,我希望删除环境变量中包含等号的文本, 我的代码片段如下所示: SET JAVA_OPTS= -Dlog4j.configuration=./logservice.properties -Duser.timezone=GMT+08:00 SET "logText= -Dlog4j.configuration=./logservice.properties " SETLOCAL EnableDelayedExpansion @echo JAVA_OPTS = %JAVA_OPTS% SET "JAV

我希望删除环境变量中包含等号的文本, 我的代码片段如下所示:

SET JAVA_OPTS= -Dlog4j.configuration=./logservice.properties -Duser.timezone=GMT+08:00
SET "logText= -Dlog4j.configuration=./logservice.properties "
SETLOCAL EnableDelayedExpansion
@echo JAVA_OPTS = %JAVA_OPTS%
SET "JAVA_OPTS=!JAVA_OPTS:%logText%= !"
@echo modified JAVA_OPTS = !JAVA_OPTS!
ENDLOCAL & SET "JAVA_OPTS=%JAVA_OPTS%"
删除文本后的预期输出应为

modified JAVA_OPTS = -Duser.timezone=GMT+08:00
我怎样才能达到预期的结果

@ECHO关闭
SETLOCAL
设置JAVA_OPTS=-Dlog4j.configuration=./logservice.properties-Duser.timezone=GMT+08:00
设置“logText1=-Dlog4j.configuration”
设置“logText2=./logservice.properties”
SETLOCAL EnableDelayedExpansion
echo JAVA_OPTS=%JAVA_OPTS%
设置“JAVA\u选项=!JAVA\u选项:*%logText1%=!”
设置“JAVA_选项=!JAVA_选项:*%logText2%=!”
echo修改的JAVA_OPTS=!JAVA_选项!
ENDLOCAL&设置“JAVA\u OPTS=%JAVA\u OPTS%”
echo final JAVA_OPTS=%JAVA_OPTS%
端部
::现在已退出环境变量更新-重试
SETLOCAL
设置JAVA_OPTS=-Dlog4j.configuration=./logservice.properties-Duser.timezone=GMT+08:00
设置“logText2=./logservice.properties”
SETLOCAL EnableDelayedExpansion
echo JAVA_OPTS=%JAVA_OPTS%
设置“JAVA_选项=!JAVA_选项:*%logText2%=!”
echo修改的JAVA_OPTS=!JAVA_选项!
ENDLOCAL&设置“JAVA\u OPTS=%JAVA\u OPTS%”
echo final JAVA_OPTS=%JAVA_OPTS%
后藤:EOF
两种方式。你付钱,你选择


问题集中在
=
的特殊用法上,
cmd
无法区分。替换的字符串是哪个?

Ah…通配符,只需用=删除文本并用空字符串替换即可。谢谢你的帮助!