小编afz*_*lex的帖子

当值包含括号时如何在 if 块内设置变量的值

我在 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 的更改。

windows batch

1
推荐指数
1
解决办法
3303
查看次数

标签 统计

batch ×1

windows ×1