如何根据用户输入的字符串执行批处理命令

时间:2019-09-23 09:26:25

标签: windows batch-file command-line

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”也不会进一步执行任何命令,它仅要求用户输入并退出。非常感谢您的建议

1 个答案:

答案 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'