2014-11-06 81 views
0

所以我有这个简单的脚本:批处理变量不起作用?

@echo off 
set /p "derp = Enter thing here >> " 
echo %derp% 
pause >nul 

但是当我运行它:

Enter thing here >> pineapple 

ECHO is off. 

当我在CMD设置变量,这是发生了什么。

C:\Users\Sahib> set var1 = banana 
C:\Users\Sahib> echo %banana% 

%banana% 

C:\用户\ Sahib的>

批次变量是完全禁用。为什么!

+0

之前和'='和双引号后删除空格,然后再次尝试。 – 2014-11-06 03:36:39

+0

你的第二个例子没有任何意义(你设置了一个名为'var1'的变量,然后'回显一个名为'banana'的不同变量)。 – 2014-11-06 03:38:06

回答

2

批次敏感空间=任一侧。

你是,例如,设置变量DERP 空间

删除那些恶意的空间,然后再试一次。

1

这应该解决你的第一个问题。当设置变量,不应该是“=”

@echo off 
set /p "derp=Enter thing here >> " 
echo %derp% 
pause > nul 

而你的第二个问题,当“呼应”的变量,你必须呼应变量本身,在这种情况下,“VAR1”

之间的空间
C:\Users\Sahib> set var1 = banana 
C:\Users\Sahib> echo %banana% 

应该是:

C:\Users\Sahib> set "var1=banana" 
C:\Users\Sahib> echo %var1%