我非常喜欢批处理编程,但我似乎无法找到解决问题的答案。每当我在我的批处理文件中包含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运行批处理会出现错误"此时没有任何意外。"与"没有"指空间后的输入。
答案 0 :(得分:3)
使用以下语法:
IF /I "%VARIABLE%" EQU "STRING" GOTO LABEL
或者最好是:
IF /I "%VARIABLE%"=="STRING" GOTO LABEL
双引号包含在比较中。