在set / p输入中包含空格会自动使批处理程序崩溃

时间:2017-10-03 22:33:31

标签: batch-file

我非常喜欢批处理编程,但我似乎无法找到解决问题的答案。每当我在我的批处理文件中包含set /p命令时,输入包含字母之间空格的任何内容都会立即关闭程序。 这是相关代码:

set /p action=">>"
if not defined action goto nothing
if /i %action% equ fight goto fight
if /i %action% equ magic goto magic
if /i %action% equ heal goto heal
if /i %action% equ "do nothing" goto nothing
goto battscr

我显然试图创建对输入的响应,"什么都不做",但每次用户在字符之间键入空格时,在按Enter键后立即关闭。通过cmd运行批处理会出现错误"此时没有任何意外。"与"没有"指空间后的输入。

1 个答案:

答案 0 :(得分:3)

使用以下语法:

IF /I "%VARIABLE%" EQU "STRING" GOTO LABEL

或者最好是:

IF /I "%VARIABLE%"=="STRING" GOTO LABEL

双引号包含在比较中。