Batch file Set/A和报价的批处理文件技术
如果我的脚本正在进行计算,我总是想知道如何以及何时使用引号。比如说, 设置/A exp=%some%+!算计-0 我知道,如果行使用括号,并且我在if块中,我应该使用 设置/A exp=%some%+!算计-0 引号只是围绕着等号后面的部分 除此之外,从变量名到行尾引用 设置/A exp=%some%+!算计-0 看起来也很管用 我想知道,有没有合适的方法使用SET/a?批处理脚本的正确/最佳技术是什么?我什么时候应该使用引号?除非出现错误,否则它们大多是可选的吗Batch file Set/A和报价的批处理文件技术,batch-file,coding-style,set,quotes,Batch File,Coding Style,Set,Quotes,如果我的脚本正在进行计算,我总是想知道如何以及何时使用引号。比如说, 设置/A exp=%some%+!算计-0 我知道,如果行使用括号,并且我在if块中,我应该使用 设置/A exp=%some%+!算计-0 引号只是围绕着等号后面的部分 除此之外,从变量名到行尾引用 设置/A exp=%some%+!算计-0 看起来也很管用 我想知道,有没有合适的方法使用SET/a?批处理脚本的正确/最佳技术是什么?我什么时候应该使用引号?除非出现错误,否则它们大多是可选的吗 谢谢。如果您在不使用/a的情况
谢谢。如果您在不使用/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命令中,但问题是当SET用于使用/ASWWEET计算表达式时,特别是使用引号-谢谢Stephan~现在完全有意义了。谢谢,我一直在想这个问题。