批量替换 set /p 行?

批量替换 set /p 行?

我有一个脚本,它要求用户输入命令,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

我能够使用 做到这一点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%

这是上述批处理文件的输出。

在此处输入图片描述

相关内容