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


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

3 64

3 ответа:

фрагмент кода в связанном предложенном дубликате считывает пользовательский ввод.

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

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

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

set /p temp="Hit enter to continue"

в конце вашего скрипта, и он будет держать окно открытым.

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

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

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