2014-01-27 75 views
1

爲什麼當我輸入消息時輸入空格時會崩潰?批量無法將空格輸入到變量

代碼:

:chatter 
cls 
echo type /help to see chat commands 
echo please use: _ instead of spaces(the problem of this code). 
set /p message="enter message: " 
if %message%==/help goto chatcmds 
if %message%==/exit goto chatcmds 
if %message%==/changeuser goto chatcmds 
echo [%username%]: %message% >> %joinedchat%.chat 
goto chatter 

我只是不明白它是不工作的原因。 我嘗試了其他人的建議,但他們不工作。

回答

2

因爲空間是命令分隔符,所以您需要將var和值括在引號中。我按照註釋中的建議添加了/ I開關,以執行不區分大小寫的字符串比較。

​​
+0

感謝4的幫助與這就是爲什麼我需要它:http://pastebin.com/Uz3zxWDC – psrcek

+1

添加'/ i'選項的'if'命令可能是一個好主意。 –

+2

@David:考慮用雙引號括住路徑/文件名。 (除非你肯定你的文件/路徑永遠不能包含空格和/或特殊字符。) –