我的.cmd文件包含:
set /A "@zz+=1"
set @zz
echo:"%%@zz%%"
产地:
@zz=4
"%@zz%"
set @zz
显示正确填充的变量,但echo
表现得好像不在那里。奇怪的是,从命令提示符运行时,命令工作正常。
答案 0 :(得分:3)
实际上,批处理正在完全按照预期进行。虽然批处理中的正常转义字符为^
,但您在%
等批处理脚本中转义%%
,因此您告诉脚本打印文字%
,然后字符串@zz
,然后是另一个文字%
。
如果你真的想要回复%4%
,那么每边都需要三个 %
标志:echo:"%%%@zz%%%"
这告诉批处理打印文字%
,然后打印%@zz%
的值,然后打印另一个文字%
。