about_PSConsoleHostReadLine
Kurze Beschreibung
Erläutert, wie Sie an der Konsolenaufforderung eine Anpassung erstellen, wie PowerShell Eingaben liest.
Lange Beschreibung
Ab Windows PowerShell V3 können Sie eine Funktion mit dem Namen "PSConsoleHostReadLine" schreiben, die die Standardmäßige Verarbeitung der Konsoleneingabe außer Kraft setzt.
BEISPIELE
Das folgende Beispiel startet Editor und ruft Eingaben aus einer Textdatei ab, die der Benutzer erstellt:
function PSConsoleHostReadLine
{
$inputFile = Join-Path $env:TEMP PSConsoleHostReadLine
Set-Content $inputFile "PS > "
# Notepad opens. Enter your command in it, save the file, and then exit.
notepad $inputFile | Out-Null
$userInput = Get-Content $inputFile
$resultingCommand = $userInput.Replace("PS >", "")
$resultingCommand
}
ANMERKUNGEN
Standardmäßig liest PowerShell Eingaben aus der Konsole in dem sogenannten "Gekochten Modus" vor – in dem das Windows-Konsolensubsystem alle Tastendrucke, F7-Menüs und andere Eingaben verarbeitet. Wenn Sie die EINGABETASTE oder TAB drücken, ruft Windows PowerShell den Text ab, den Sie an diesem Punkt eingegeben haben. Es gibt keine Möglichkeit zu wissen, dass Sie STRG-R, STRG-A, STRG-E oder andere Tasten gedrückt haben, bevor Sie die EINGABETASTE oder TAB drücken. In Windows PowerShell, Version 3, löst die PSConsoleHostReadLine-Funktion dieses Problem. Wenn Sie eine Funktion namens "PSConsoleHostReadline" im Windows PowerShell-Konsolenhost definieren, ruft Windows PowerShell diese Funktion anstelle des Eingabemechanismus "Gekochter Modus" auf.