我在 if 块内设置值时遇到问题。请考虑以下代码:
\mytool.bat
@echo off
if not "%adder%" == "" (
set val=%val%;%adder%
) else (
echo please set adder first
)
echo value="%val%"
Run Code Online (Sandbox Code Playgroud)
现在,当我通过 cmd 运行以下命令时:
set adder=a(bc)d
mytool
Run Code Online (Sandbox Code Playgroud)
它给了我错误即
d was unexpected at this time.
Run Code Online (Sandbox Code Playgroud)
另一方面,以下正在工作
set adder=abcd
mytool
Run Code Online (Sandbox Code Playgroud)
对于输出,value=";abcd"
即使adder有括号,我也希望有类似的行为。
我也尝试过这个。但它只保留批处理内变量 val 的更改。