Как выполнять пакетные команды в зависимости от ввода пользователя в виде строки - PullRequest
0 голосов
/ 23 сентября 2019
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 Ответ

1 голос
/ 23 сентября 2019

Обратите внимание, как я заключаю оба значения по обе стороны от = в двойные кавычки.

@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
)

Обычно это значения точно сравниваются.то есть что-то вроде этого

...