为什么我得到" Echo在"当试图批量打印变量时

时间:2012-09-08 07:00:06

标签: windows windows-7 batch-file dos

我想要执行一个简单的批处理文件脚本:

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>

1 个答案:

答案 0 :(得分:14)

摆脱集合表达式中的空格。等号(=)

的两边都可以而且不应该有空格
set var=%1
BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合。它只是使您的批处理文件输出更好更清洁。