-1

我正在运行以下几行,

@echo off
echo hi
echo hello
echo bye
pause
cls
echo welcome
echo once again
pause

输出,

hi
hello
bye
press any key to continue...

按键后输出,

welcome
once again
press any key to continue...

按键后的预期输出,

Hi
Welcome
once again
press any key to continue...

意思是,我的需要不包括嗨。我需要的是如何只清除以上两行,而不是使用 cls 清除整个屏幕。只有 hello 和 bye(两行以上)需要清除而不是清除整个屏幕。

这不是原始程序,它只是为了解释和示例向您展示我的概念和需求。我希望我能让你理解我的prblm ..请帮忙

4

1 回答 1

0

普通批次不支持这一点。

除了重新引入Ansi Escape Sequences的最新 Windows 10 版本。
感谢斯蒂芬的链接。

:: Q:\Test\2017\08\31\SO_45979664.cmd
:: 
@echo off
echo hi
echo hello
echo bye
pause
Echo esc[3Fesc[2Kesc[2Kwelcome
echo once again
pause

上面文本中的esc必须替换为 Ctrl-Z 字符(在此处粘贴会丢失)。

这取决于您的编辑器如何
在 Notepad++ 中输入 ESC / Ctrl-Z / 027 / 0x1b,例如Alt+027
在 Textpad Ctrl+*(numpad)中,z

  • esc[3F 转到第一列,3 行(包括暂停消息)
  • esc[2K删除一行
于 2017-08-31T20:11:41.307 回答