【问题标题】:How to use clear screen CLS command line to clear only two above lines? [duplicate]如何使用清除屏幕 CLS 命令行仅清除上述两行? [复制]
【发布时间】:2017-08-31 10:50:13
【问题描述】:

我正在运行以下几行,

@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 ..请帮助

【问题讨论】:

标签: batch-file cmd cls


【解决方案1】:

普通批处理不支持此功能。

除了重新引入 Ansi Escape Sequences 的最新 Windows 10 版本。
感谢 Stephan 提供的链接。

:: 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 字符(在此处粘贴会丢失)。

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

  • esc[3F 转到第一列,3 行(包括暂停消息)
  • esc[2K删除一行

【讨论】:

    猜你喜欢
    • 2012-10-07
    • 2013-10-15
    • 2012-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    相关资源
    最近更新 更多