批处理中设置变量的语法错误

时间:2016-12-16 01:18:51

标签: batch-file variables escaping

所以我搞乱变量,发现如果我运行以下命令

set var1=|

它给了我这个错误

The syntax of this command is incorrect

为什么这么说?

2 个答案:

答案 0 :(得分:1)

pipe(|)是一个重定向器,它接受一个命令的输出并将其输入到下一个命令中。你还没有提供下一个命令。

对于所有重定向器,如果你想按字面意思使用它们,那么你需要

set var1=^|

其中插入符告诉cmd以下字符是文字​​,而不是命令的一部分

set "var1=|"

其中"引用参数"行为相似,附加的好处是线上的任何不可见的尾随空格都不包括在指定的值中。

答案 1 :(得分:0)

某些符号可能会这样做。要修复此错误,您必须使用转义字符。 所以试试

set var=^|

^ 是您使用的转义字符。