У меня есть скрипт, который запрашивает пользовательский ввод с помощью команды set /p msg="Enter Message>" который работает нормально, но мне было интересно, если я смогу его получить, затем удалите строку, созданную с помощью команды set.
токовый выход после установки:

Hello there
My name is Bob
Enter Message> 1234
great 1234

Желаемый результат после набора:

Hello there
My name is Bob
great 1234

1 ответ1

1

Я смог сделать это с помощью CLS . Хотя в некоторых случаях мы можем напечатать другое сообщение в той же строке. Но я не уверен, что это можно сделать после нажатия клавиши ENTER при вводе пользователем.

Если вы хотите перезаписать одну и ту же строку без ввода пользователя, вы можете посмотреть на этот вопрос.

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

Вот пакетный файл, созданный для двух пользовательских вводов.

@ECHO OFF
SET UserInput1Done=0
SET UserInput2Done=0
:Start
CLS
ECHO Hello there
ECHO My name is Bob
IF %UserInput1Done%==0 (
    SET /P msg1="Enter Message 1>"
    SET UserInput1Done=1
    GOTO Start
)
ECHO great %msg1%
IF %UserInput2Done%==0 (
    SET /P msg2="Enter Message 2>"
    SET UserInput2Done=1
    GOTO Start
)
ECHO great %msg2%

Вот вывод вышеуказанного командного файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .