每当我给出任何输入时,代码总是执行第一个 IF 语句中的任何代码。因此,如果我输入"控制台清除",它将执行"控制台帮助">的代码。
:: USER INPUT
:user_input
SET /P _userInput = ">"
ECHO "%_userInput%"
GOTO :check_command
:: COMMANDS
:check_command
:: CONSOLE COMMANDS
IF /I "%_userInput%" EQU "console help" {
GOTO :console_help
}
IF /I "%_userInput%" EQU "console clear" {
GOTO :console_clear
}
试试这个吧!
REM USER INPUT
:user_input
SET /P "_userInput=>"
ECHO "%_userInput%"
GOTO :check_command
REM COMMANDS
:check_command
REM CONSOLE COMMANDS
IF /I "%_userInput%"=="console help" (
GOTO :console_help
)
IF /I "%_userInput%"=="console clear" (
GOTO :console_clear
)
您正在设置变量:
_userInput空间
,因此您必须使用:ECHO "%_userInput %"
此外,您应该使用括号()
而不是大括号,{}
和EQU
更用于数字比较,只是使用==
是更常见的用法。