Как читать ввод с консоли в пакетном файле?

327
37

Как читать ввод с консоли в пакетном файле? То, что я пытаюсь достичь, - это функция scanf в C. Как я могу сделать то же самое в пакетном файле?

спросил(а) 2021-01-25T18:03:38+03:00 4 месяца, 4 недели назад
1
Решение
429

Фрагмент кода в соединенном двойном экземпляре читает ввод пользователя.


ECHO A current build of Test Harness exists.
set /p delBuild=Delete preexisting build [y/n]?:

Пользователь может ввести столько букв, сколько захочет, и он войдет в переменную delBuild.

ответил(а) 2021-01-25T18:03:38+03:00 4 месяца, 4 недели назад
139

Как и все говорят, достаточно использовать set /p varname="prompt message". Если вы просто быстро хотите открыть экземпляр cmd вместо немедленного выхода, достаточно выполнить следующее:


set /p temp="Hit enter to continue"

в конце вашего script, и он откроет окно.

ответил(а) 2021-01-25T18:03:38+03:00 4 месяца, 4 недели назад
131

В дополнение к существующему ответу можно установить параметр по умолчанию следующим образом:


ECHO A current build of Test Harness exists.
set delBuild=n
set /p delBuild=Delete preexisting build [y/n] (default - n)?:

Это позволяет пользователям просто нажать "Enter", если они хотят ввести значение по умолчанию.

ответил(а) 2021-01-25T18:03:38+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема