Пакетные файлы DOS:Как написать в командной строке и оставаться в одной строке для ввода текста

StackOverflow https://stackoverflow.com/questions/205440

  •  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: "
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top