使用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…通配符,只需用=删除文本并用空字符串替换即可。谢谢你的帮助!