Batch file 批量替换命令,i';我很困惑
好吧,我试过了Batch file 批量替换命令,i';我很困惑,batch-file,replace,Batch File,Replace,好吧,我试过了 set x=12 & set var=(x) set var=%var:(=^%% set var=%var:)=^%% echo %var% 我得到了x% 然后我做了这个 setlocal enabledelayedexpansion set var=!var:(=%! set var=!var:)=%! echo %var% 我得到了!变量:)=% 两种方法都失败了,所以我需要帮助。考虑下一个脚本: @ECHO OFF SETLOCAL EnableExte
set x=12 &
set var=(x)
set var=%var:(=^%%
set var=%var:)=^%%
echo %var%
我得到了x%
然后我做了这个
setlocal enabledelayedexpansion
set var=!var:(=%!
set var=!var:)=%!
echo %var%
我得到了!变量:)=%
两种方法都失败了,所以我需要帮助。考虑下一个脚本:
@ECHO OFF
SETLOCAL EnableExtensions EnableDelayedExpansion
echo(
set "_x=12"
set "_var=(_x)"
set "_var=!_var:(=%%!"
set "_var=!_var:)=%%!"
set _
echo(
echo " echo %%_var%%" %_var%
call echo "call echo %%%%_var%%%%" %_var%
其输出:
==> D:\bat\SO\40369895.bat
_var=%_x%
_x=12
" echo %_var%" %_x%
"call echo %_var%" 12
==>
请注意,变量名中的前缀(
\ux
和\uvar
而不是x
和var
)并不重要…问题是什么?帮助什么?解释你的问题!很抱歉没有澄清,我的意思是希望var等于%x%,比如将“(”和“')”转换为“%”。