如何在工作目录更改时更改 PowerShell 标题

如何在工作目录更改时更改 PowerShell 标题

在长路径子目录中工作时,提示符占窗口宽度的 90%。我可以用下面的命令更改提示符:

# Save to: %userprofile%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
function prompt
{
    Write-Host ("PS>") -nonewline -foregroundcolor Green -backgroundcolor Black
    return " "
}

但是,我想要的是当我改变目录时改变窗口的标题。

是否存在我可以挂钩的事件,以便当我键入时cd c:\temp标题变为c:\temp,并且我的 PS 提示仍然存在PS>

答案1

Prompt每次打印新提示时都会调用该函数。它的返回值是 PowerShell 将显示为提示的字符串,但您也可以在其中执行其他操作。如果您将其保存为您的配置文件,您将获得所需的内容:

Function Prompt {
    $host.UI.RawUI.WindowTitle = Get-Location
    "PS> "
}

(来源:这篇 Microsoft 博客文章.)它将窗口标题设置为当前位置,然后返回常量字符串PS> 

相关内容