删除命令提示符启动显示顶部的空行

删除命令提示符启动显示顶部的空行

这个问题是帖子的延续Modify Windows CommandLine Start Up Text

在我成功修改了cmd startup display它的来源之后,它看起来如下所示:


CMD:

blank line顶部仍有一个。

那么,我该如何删除它?,只变成:

CMD:

就像我PowerShell Startup下面修改的那样:

PS7:

顶部没有空行。

当然,命令CLS只清除显示的文本,而不是行。


更新:

我尝试按键盘上的键,然后进入了CTRL + L我的电脑。在其他电脑上可能有所不同。

但这只是暂时的。仍在寻找永久设置

答案1

Cmd 没有这样的选项——根据 GitHub 上提供的源代码,在每个提示前打印空行实际上是显示实际提示(在 clex.c 中)的相同代码的一部分,并且没有隐藏的选项可以跳过它。

当前版本的 Windows 支持 VT220 样式终端控制序列(允许您向提示添加格式的那些),因此您可以在变量的最开始处添加“将光标向上移动”序列PROMPT- 这样每次 Cmd 打印出空行(并将光标向下移动)时,它都会立即将光标向上移动一个。

控制序列ESC [ 1 A或“光标向上移动 1 次”将按照 Cmd.exe PROMPT 语法写成$E[1A;例如:

set PROMPT=$E[1ACMD:

这只适用于支持控制台中的 ANSI/VT220 控制序列的较新的 Windows 版本;例如,它在 Windows 7 上不起作用。

它还有一个小缺点(?),如果你在空的命令行,看起来好像什么都没有发生,因为在这种情况下 Cmd 不会打印空行,所以光标会移回到按下 Enter 键之前的位置。


还有可能第三方模组,例如碰杯/康德可以实现这一点,因为 Clink 已经实现了很多对 Cmd 的文本输入部分进行了更改。我还没有尝试过任何这些修改。

相关内容