So ändern Sie den PowerShell-Titel, wenn sich das Arbeitsverzeichnis ändert

So ändern Sie den PowerShell-Titel, wenn sich das Arbeitsverzeichnis ändert

Beim Arbeiten in Unterverzeichnissen mit langem Pfad nimmt die Eingabeaufforderung 90 % der Fensterbreite ein. Ich kann die Eingabeaufforderung folgendermaßen ändern:

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

Ich möchte jedoch den Titel des Fensters ändern, wenn ich das Verzeichnis wechsle.

Gibt es ein Ereignis, das ich einhängen kann, sodass beim Eintippen cd c:\tempder Titel zu wird c:\tempund meine PS-Eingabeaufforderung bestehen bleibt PS>?

Antwort1

Die PromptFunktion wird jedes Mal aufgerufen, wenn eine neue Eingabeaufforderung ausgegeben wird. Ihr Rückgabewert ist die Zeichenfolge, die PowerShell als Eingabeaufforderung anzeigt, aber Sie können darin auch andere Dinge tun. Wenn Sie dies als Ihr Profil speichern, erhalten Sie, was Sie möchten:

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

(Quelle:dieser Microsoft-Blog-Artikel.) Es setzt den Fenstertitel auf die aktuelle Position und gibt dann die konstante Zeichenfolge zurück PS> .

verwandte Informationen