set /P id=Enter id:
echo %id%
if %id%=='a'
(
:: DO THINGS1
EXIT
)
if %id%=='b'
(
:: DO THINGS2
EXIT
)
else (
echo Input can be either a or b
)
但是,每次我运行文件时,即使我输入“ a”或“ b”也不会进一步执行任何命令,它仅要求用户输入并退出。非常感谢您的建议
答案 0 :(得分:1)
请注意,我如何将=
的两个值都用双引号引起来。
@echo off
set /P id=Enter id:
echo %id%
if "%id%"=="a" (
:: DO THINGS1
goto :eof
)
if "%id%"=="b" (
:: DO THINGS2
goto :eof
) else (
echo Input can be either a or b
)
这通常会精确比较值。即类似这样的东西。
if "a"=="a"
可以匹配,因为您在任意一侧都尝试匹配:
if a=='a'