当某些涉及括号的命令放在括号中的IF
语句中时,我遇到了麻烦。
这里有两个例子:
if condition (
title Cleanup (task 1)
) else (
title Cleanup (task 2)
)
和
if condition (
set /a var2=(100 * %var%) + 50
) else (
set /a var2=100 * (%var% + 50)
)
这些失败,甚至可能使脚本崩溃。我在这里尝试的是可行的吗?也许某种方式可以强制标题中的括号并设置命令按字面意思理解?或者一些做同样工作的替代符号?
您需要
^
对内括号使用转义字符:// 编辑
在命令行中对此进行测试:
你会看到所有的
^
都是完全多余和不必要的,但它仍然有效,结果是一样的,没有转义,你也可以使用“双引号”,但是如果你想使用转义,你只需要 in^)
,在您当前的代码中,并意识到在 中使用是不必要的^(
,并不是因为它有效,所以它是必要的,在这个 答案中查看更多信息set /a var2=(100 * %var%^) + 50
// 编辑
""
在set "var=(integer operator integer) operator integer"