Выбор команды не отличается - PullRequest
0 голосов
/ 25 октября 2009

Я написал следующий код

choice /m "Do you want to add another profile" 
if errorlevel 1 set /p profile_name1=Enter one of the above profile names:

Однако всегда запускается «Введите одно из названий профиля выше», даже если я нажал «нет». Что я сделал не так?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 25 октября 2009

Вы должны дать инструкции для каждого результата. E.g.:

choice /m "Do you want to add another profile"
if errorlevel 2 goto :doOtherStuff
if errorlevel 1 set /p profile_name1=Enter one of the above profile names: 
:doOtherStuff

Также обратите внимание, что порядок важен, вы должны перечислить уровни ошибок по убыванию (2, затем 1).

0 голосов
/ 25 октября 2009

Во-первых, / m не является допустимым аргументом, который вы можете передать на выбор. Попробуйте удалить это, это может быть неправильным выбором.

Также: IF ERRORLEVEL возвращает TRUE, если код возврата был равен или выше , чем указанный уровень ошибки. Попробуйте проверить каждое возможное возвращаемое значение (в вашем случае, да и нет)

IF ERRORLEVEL 2 SET ANS="No"
IF ERRORLEVEL 1 SET ANS="Yes"

и используйте значение ANSwer в остальной части вашего пакетного файла.

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