2014-11-06 79 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%