批量变量不起作用?

时间:2014-11-06 03:29:08

标签: batch-file

所以我有这个简单的脚本:

@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的>

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

2 个答案:

答案 0 :(得分:2)

批次对=两侧的 Spaces 很敏感。

例如,您可以设置变量derp Space

删除这些恶意空间,然后重试。

答案 1 :(得分: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%