【问题标题】:How to execute batch commands depending on user input as string如何根据用户输入作为字符串执行批处理命令
【发布时间】:2019-09-23 09:26:25
【问题描述】:
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:@Choice /C ab /M "What is your ID", 2:@If ErrorLevel 2 (Echo=Do things based upon B entry)Else Echo=Do things based upon A entry
  • 谢谢。我遇到了不同字符串执行错误的问题

标签: windows batch-file command-line


【解决方案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'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多