Команда пакетного выбора Windows для Windows XP и 2003 - PullRequest
6 голосов
/ 19 февраля 2009

Есть ли способ предложить пользователям ввести данные (например, Да / Нет) из пакетного сценария Windows, который работает на серверах XP и Windows 2003? Кажется, что некоторые команды (т.е. выбор) работают только на одной ОС, а не на других.

Ответы [ 6 ]

8 голосов
/ 19 февраля 2009

Используйте команду SET с переключателем / P.

6 голосов
/ 10 ноября 2009

Обратите внимание, что команда SET /P не поддерживает все те же функции, что и команда CHOICE. А именно:

  • Он не ограничивает пользователя в вводе действительного значения
  • Пользователь должен нажать ввод
  • Вы должны проверить различия в корпусе (например, "A" против "a")
  • Нет способа по умолчанию для определенного выбора через определенное время

По этим причинам я все же предпочитаю использовать команду CHOICE вместо команды SET /P. Для этого вам просто нужно включить CHOICE.COM вместе с вашим пакетным файлом. Вы можете загрузить CHOICE.COM от Microsoft через дополнительный диск MS-DOS 6.22 . Вот ссылка:

http://support.microsoft.com/kb/117600

6 голосов
/ 20 февраля 2009
SET /P RESULT=Y or N?
ECHO %RESULT%
2 голосов
/ 20 августа 2015

Это будет в основном подражать тому, что делает выбор, вам нужно будет поместить это как подпрограмму в ваш пакетный файл. Я также предпочитаю выбор, но мне нужно что-то портативное, что будет работать на Windows XP.

Затем вы можете изменить это, чтобы принимать другие «варианты выбора», однако это будет работать без учета регистра и повторять приглашение до тех пор, пока пользователь явно не введет Y, y, N или n.

:yesorno
set /p choice=%2
if /i NOT %choice% == n (
    if /i NOT %choice% == y goto yesorno
)
set "%~1=%choice%"
goto :eof

Затем вы вызвали бы эту подпрограмму через:

call :yesorno answer "Do you want to continue? [Y/n]: "

До сих пор это работало очень хорошо для меня.

1 голос
/ 06 мая 2012

Например, вы можете использовать это:

SET /P ANSWER=y OR n?
If "%answer%"=="y" goto yes
If "%answer%"=="n" goto no

Наслаждайтесь!

0 голосов
/ 14 сентября 2017

Windows Millenium CHOICE.COM отлично работает для меня под XP SP3. Тем не менее, мой язык венгерский, но вы, вероятно, можете найти его оригинальный вариант на английском языке, например, для поиска "windows millenium ebd".

http://s000.tinyupload.com/index.php?file_id=57468192666746678653

...