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

Ste*_*ker 7 windows powershell command-line

在长路径子目录中工作时,提示为窗口宽度的 90%。我可以用这个改变提示:

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

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

有没有我可以挂钩的事件,这样当我输入cd c:\temp标题时c:\temp,我的 PS 提示仍然存在PS>

Ben*_*n N 7

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

Function Prompt {
    $host.UI.RawUI.WindowTitle = Get-Location
    "PS> "
}
Run Code Online (Sandbox Code Playgroud)

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