Пакетные файлы DOS:Как написать в командной строке и оставаться в одной строке для ввода текста
-
03-07-2019 - |
Вопрос
Мне хотелось бы знать, есть ли способ прочитать пользовательский ввод внутри пакетного файла, потому что у меня есть файл с именем:"fif.bat", который получает два параметра (просто вызовите их парамА и парамБ) итак, я выполняю файл следующим образом:
fif paramA paramB
Мне приходится менять paramA каждый месяц, но я вызываю этот файл много раз, поэтому мне нравится открывать консоль и печатать это:
fif paramA
Так что мне нужно только написать ParamB и изменить paramA, когда я этого захочу.
ПД:paramA очень большой, поэтому будет очень полезно, если я смогу разместить его там вместо того, чтобы писать каждый раз.И я не хочу создавать другой пакетный файл для вызова fif whit paramA.
Решение
Я думаю, это может быть то, что вы ищете:
@ECHO OFF
SET /p paramA=Parameter A:
ECHO you typed %paramA%
PAUSE
Первая строка останавливает передачу команд из пакетного файла на консоль Вторая строка запрашивает у пользователя "Параметр A:" и ожидает, пока пользователь введет значение и нажмет enter.Значение переходит в переменную с именем paramA.Третья строка выводит значение переменной paramA на консоль Четвертая строка ожидает, пока пользователь нажмет любую клавишу.
Обратите внимание, что команда SET / p работает не во всех версиях Windows, я полагаю, что она была представлена в 2000 году, но я могу ошибаться в версии.
Другие советы
Вы можете запросить ввод данных пользователем в пакетном файле, используя SET /P
например:
SET /P paramB="Prompt String: "