You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让PowerShell提示符始终显示在控制台底部?

实现PowerShell提示符固定在控制台底部(清屏后仍保持)

核心解决思路

要让提示符始终停在控制台底部,核心是每次生成提示符前,动态获取当前控制台的窗口高度,计算出最后一行的坐标,再将光标移动到该位置后输出提示符。清屏后窗口高度可能变化,所以每次都要重新计算坐标。

具体实现代码

替换PowerShell默认的prompt函数,编写如下代码:

function prompt {
    # 获取当前控制台窗口的总行数
    $consoleHeight = $Host.UI.RawUI.WindowSize.Height
    # 计算最后一行的坐标(控制台坐标从0开始计数)
    $targetPos = New-Object System.Management.Automation.Host.Coordinates 0, ($consoleHeight - 1)
    # 将光标移动到最后一行开头
    $Host.UI.RawUI.CursorPosition = $targetPos
    # 输出和DOS风格一致的$P$G提示符
    return "$($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) "
}

清屏后的适配处理

默认clear命令清屏后光标会回到顶部,可通过重定义clear别名,让清屏后自动触发光标调整:

Set-Alias -Name clear -Value Clear-And-ResetCursor -Force

function Clear-And-ResetCursor {
    # 执行原生清屏操作
    [Console]::Clear()
    # 触发提示符逻辑,将光标移回底部
    & $function:prompt
    return
}

持久化配置

如果希望每次启动PowerShell都生效,把上述代码添加到PowerShell配置文件中:

  1. 打开配置文件:notepad $PROFILE
  2. 粘贴代码并保存
  3. 重启PowerShell即可生效

内容的提问来源于stack exchange,提问作者Vince Yuma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 14:35:53