当试图批量打印variables时,为什么我会收到“Echo is on”

我试图执行一个简单的batch file脚本:

echo %1 set var = %1 echo %var% 

当我在XP中运行它时,它给了我期望的输出,但是当我在Vista或Windows 7中运行它时,试图打印(回显)值时出现“Echo is On”。

以下是程序的输出:

 G:\2012>abc.bat 1 G:\2012>echo 1 1 G:\2012>set var = 1 G:\2012>echo ECHO is on. G:\2012> 

摆脱你的表达式中的空格。 在等号的两边可以也不应该有空格(=)

 set var=%1 

顺便说一句:我通常启动所有我的批处理文件关闭@echo,并结束与@echo的,所以我可以避免混合代码与批处理文件的输出。 它只是让你的批处理文件输出更好一点,更干净。