Пакетные файлы DOS: Как написать в подсказку и остаться в той же строке для ввода текста - PullRequest
4 голосов
/ 15 октября 2008

Мне нравится знать, есть ли способ прочитать пользовательский ввод внутри пакетного файла, потому что у меня есть файл с именем: fif.bat, который получает два параметра (просто вызовите их paramA и paramB ), поэтому я выполняю файл следующим образом:

fif paramA paramB

Мне нужно менять paramA каждый месяц, но я часто вызываю этот файл, поэтому мне нравится открывать консоль и печатать это:

fif paramA

Так что мне нужно только написать paramB и изменить paramA, когда я этого захочу.

PD: paramA очень велика, поэтому очень полезно, если я могу иметь его там вместо того, чтобы писать каждый раз. И я не хочу делать еще один пакетный файл для вызова Five Whit ParamA.

Ответы [ 2 ]

7 голосов
/ 15 октября 2008

Я думаю, это то, что вы ищете:

@ECHO OFF
SET /p paramA=Parameter A:
ECHO you typed %paramA%
PAUSE

Первая строка останавливает вывод команд в командном файле на консоль Во второй строке пользователю предлагается «Параметр A:», и он ждет, когда пользователь введет значение и нажмет ввод. Значение входит в переменную с именем paramA. Третья строка отображает значение переменной paramA на консоли В четвертой строке пользователь нажимает любую клавишу.

Обратите внимание, что команда SET / p не работает на всех версиях Windows, я считаю, что она была введена в 2000 году, но я мог ошибаться в версии.

0 голосов
/ 15 октября 2008

Вы можете запросить ввод пользователя в командном файле, используя SET /P, например:

SET /P paramB="Prompt String: "
...