所以我有这个简单的脚本:
@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 :(得分: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%