Подтвердить что ты не робот

Как ввести строку из пользователя в переменную среды из командного файла

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

4b9b3361

Ответ 1

Вы можете использовать set с аргументом /p:

SET /P variable=[promptString]

Переключатель/P позволяет вам установить значение переменной в строку ввода введенный пользователем. Показывает указанную строку promptString перед чтением строка ввода. Команда promptString может быть пуста.

Итак, просто используйте что-то вроде

set /p Input=Enter some text: 

Позже вы можете использовать эту переменную в качестве аргумента для команды:

myCommand %Input%

Будьте осторожны, но если ваш ввод может содержать пробелы, вероятно, это хорошая идея, чтобы процитировать его:

myCommand "%Input%"

Ответ 2

Скорее обходной путь, просто для полноты:

 for /f "delims=" %i in ('type CON') do set inp=%i

Конечно, это требует ^ Z как терминатора, и поэтому ответ Йоханнеса лучше всего на практике.

Ответ 3

Предложение Joey было лучшим ответом №1 в Интернете для решения этой проблемы, и я бы хотел, чтобы я нашел это быстрее.

Вы можете использовать set с аргументом /p:

SET/P input = [promptString]

При запуске вам будет предложено установить значение для [promptString].

Позже вы можете использовать эту переменную в качестве аргумента для команды, помещая в нее %%:

myCommand% Вход% Будьте осторожны, однако, если ваш ввод может содержать пробелы, вероятно, это хорошая идея, чтобы процитировать его:

myCommand "% Input%"