2012-09-08 16 views
7

我特林EXCUTE一个简单的批处理文件的脚本来打印变量时:为什么我得到“回音是”试图批量

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> 
+0

不应该是'%1'吗? (百分比在数字之前) – knittl

+0

是的,我已经纠正了它 – user1656253

+0

set var =%1暂停输出:= C:\> set var = C:\ Users \ vpatel \ Desktop> pause按任意键继续。 。 。不要求用户inout – 2013-01-15 18:49:47

回答

13

得到您所设定的表情摆脱空间。还有可以而且应该是上了等号(=)

set var=%1 

两侧BTW没有空格:我通常先从@echo我所有的批处理文件关闭,并与太@echo结束他们,这样我就可以避免将代码与批处理文件的输出混合在一起。它只是让你的批处理文件输出更好更干净。

+0

是的,这是造成这个问题的空间。谢谢 – user1656253

+0

不客气。 –

相关问题