cmd文件中的echo产生不正确的结果

时间:2015-05-08 20:24:55

标签: batch-file

我的.cmd文件包含:

set /A "@zz+=1"
set @zz
echo:"%%@zz%%"

产地:

@zz=4
"%@zz%"

set @zz显示正确填充的变量,但echo表现得好像不在那里。奇怪的是,从命令提示符运行时,命令工作正常。

1 个答案:

答案 0 :(得分:3)

实际上,批处理正在完全按照预期进行。虽然批处理中的正常转义字符为^,但您在%等批处理脚本中转义%%,因此您告诉脚本打印文字%,然后字符串@zz,然后是另一个文字%

如果你真的想要回复%4%,那么每边都需要三个 %标志:echo:"%%%@zz%%%"

这告诉批处理打印文字%,然后打印%@zz%的值,然后打印另一个文字%