Как изменить заголовок 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> .

Связанный контент