如果我的脚本正在进行计算,我总是想知道如何以及何时使用引号。例如,
Set /A exp=%some%+(!calculation!-0)
。
我知道,如果该行使用括号,并且我在IF
块内,我应该使用
Set /A exp="%some%+(!calculation!-0)"
。
引号只是在等于之后的部分。
除此之外,引用变量名称到行尾
Set /A "exp=%some%+(!calculation!-0)"
似乎也有效。
我想知道,是否有适当的"使用SET /A
的方法?批处理脚本的正确/最佳技术是什么?我什么时候应该使用报价?除非有错误,否则它们大多是可选的?
谢谢。
答案 0 :(得分:0)
如果你在没有/a
的情况下尝试它会更有意义:如果你在"
之后使用=
,它将成为变量的一部分;如果你在=
之前使用它,它会分隔表达式(通常用于避免意外或在变量中插入预期的尾随空格)
C:\>set x="1+3"
C:\>set x
x="1+3"
C:\>set "x=2+5"
C:\>set x
x=2+5
C:\>set x=text
C:\>echo -%x%-
-text -
C:\>set "x=text"
C:\>echo -%x%-
-text-
(请注意,set x=text
和set "x=text"
之后有两个“非预期”空格
/a
,qoutes被剥离(/a
从“好老DOS”添加到前set
命令中