Пакетный сценарий приключений - PullRequest
4 голосов
/ 05 августа 2011

Вот мой пакетный скрипт-файл.Есть 2 сценария


  • Сценарий 1

@echo off
set name=
set /P TypeName=Name: %=%

if %TypeName% == "abcd" goto correctName
else goto wrongName

:correctName
echo Correct Name
:end

:wrongName
echo Wrong Name
:end

Когда я набираю abcd в качестве ввода, я получаю 'else' isне распознается как внутренняя или внешняя команда, работающая программа или пакетный файл

Неправильное имя


  • Сценарий 2

@echo off
set name=
set /P TypeName=Name: %=%

if %TypeName% EQA "abcd" goto correctName
if %TypeName% NEQ "abcd" goto wrongName

:correctName
echo Correct Name
:end

:wrongName
echo Wrong Name
:end

Когда я набираю abcd в качестве ввода, я получаю EQA в это время было неожиданным.

Что-то не так в моем скрипте? Я пропустилчто-то здесь

Ответы [ 4 ]

1 голос
/ 05 августа 2011
  1. ELSE должен находиться на одной строке с ключевым словом IF или на той же строке с закрывающей скобкой, которая относится к IF.

    Как это:

    IF %TypeName% == "abcd" GOTO correctName ELSE GOTO wrongName
    

    Или вот так:

    IF %TypeName% == "abcd" (
      ECHO Correct.
      GOTO correctName
    ) ELSE GOTO wrongName
    
  2. Правильное ключевое слово для оператора Равно : EQU:

    IF %TypeName% EQU "abcd" GOTO correctName
    
0 голосов
/ 05 августа 2011

Чтобы закончить этот пост, я получил ожидаемый результат таким образом-

@echo off
set name=
set /P TypeName=Name: %=%

if "%TypeName%" == "abcd" (
echo Correct Name
) else (
echo Wrong Name
)
0 голосов
/ 05 августа 2011

Вам не обязательно нужно использовать else, например:

@echo off
set name=
set /P TypeName=Name: %=%

if %TypeName% == "abcd" goto correctName
goto wrongName

:correctName
echo Correct Name
:end

:wrongName
echo Wrong Name
:end

Если% TypeName% == "abcd", он перейдет к: correctName, если нет, простоперейти к следующей строке и перейти к: неправильное имя.

0 голосов
/ 05 августа 2011

Первый пример почти верен, за исключением того, что формат инструкции IF / ELSE в пакетном файле выглядит следующим образом:

IF <statement>  (
..
..
) ELSE (
...
...
)

Так что просто используйте этот формат, и он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...