我有一个脚本,它要求用户输入命令,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%
这是上述批处理文件的输出。