Набор командной строки MS-DOS /p

Я хочу создать программу MS-DOS .bat, которая просит пользователя выбрать параметр, используя следующую строку:

set /p opt=Select your option:

Строка выполняется, но ничего не делает и продолжает выполнение остальной части командного файла без приглашения пользователя. Что не так? Я пробовал это в DOSBox 0.74.


person IS4    schedule 06.03.2014    source источник
comment
Он отлично работает для меня. Возможно, версия DOS, используемая в DOSBox, не поддерживает set /p? (Введите set /? в командной строке и прочитайте отображаемую справку.)   -  person Ken White    schedule 06.03.2014
comment
@KenWhite set /? показывает Change environment variables. и только SET, но аналогичная информация отображается и для DIR, хотя у него больше рабочих переключателей.   -  person IS4    schedule 06.03.2014


Ответы (3)


Посмотрите документацию по SET, введя set /? или help set в командной строке Windows, и вы увидите, что параметр /P доступен только при включенных расширениях. Расширения являются частью Windows CMD.EXE, они недоступны в старой DOS COMMAND.COM. Другими словами, параметр /P доступен только в Windows. Он не был доступен в настоящей DOS, поэтому логично, что он не будет работать и в DosBox.

person dbenham    schedule 07.03.2014

вы наверное забыли пробел после знака равенства

set /p opt= Select your option:

P.S: используйте кавычки вокруг строки

person gaurav5430    schedule 06.03.2014
comment
Вокруг знака равенства для set /p нет необходимости. set /p opt=Enter your choice: работает нормально. - person Ken White; 06.03.2014

DOSBox, вероятно, не поддерживает настройку переменных среды через приглашение пользователя, поэтому я скачал рабочий command.com из FreeDOS.

person IS4    schedule 06.03.2014