我想要执行一个简单的批处理文件脚本:
echo %1
set var = %1
echo %var%
当我在XP中运行它时,它给了我预期的输出,但是当我在Vista或Windows 7中运行它时,我在尝试打印(echo)值时得到“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>
答案 0 :(得分:14)
摆脱集合表达式中的空格。等号(=)
的两边都可以而且不应该有空格set var=%1
BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合。它只是使您的批处理文件输出更好更清洁。