批量无法输入空格到变量

时间:2014-01-27 13:53:36

标签: file variables batch-file space

如果我在输入信息时输入空格,为什么会崩溃?

代码:

: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

我只是看不出它不起作用的原因。 我尝试了其他人的建议,但他们没有用。

1 个答案:

答案 0 :(得分:2)

您需要将var和值括在引号中,因为空格是命令分隔符。我按照注释中的建议添加了/ I开关来进行不区分大小写的字符串比较。

if /I "%message%"=="/help" goto chatcmds
if /I "%message%"=="/exit" goto chatcmds
if /I "%message%"=="/changeuser" goto chatcmds