这个问题是帖子的延续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 的文本输入部分进行了更改。我还没有尝试过任何这些修改。