about_PSConsoleHostReadLine
Korte beschrijving
Hierin wordt uitgelegd hoe u een aanpassen hoe PowerShell invoer leest bij de consoleprompt.
Lange beschrijving
Vanaf Windows PowerShell 3.0 kunt u een functie met de naam PSConsoleHostReadLine schrijven die de standaard manier overschrijft waarop consoleinvoer wordt verwerkt.
VOORBEELDEN
In het volgende voorbeeld wordt Kladblok gestart en wordt invoer opgehaald uit een tekstbestand dat de gebruiker maakt:
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
}
OPMERKINGEN
Standaard leest PowerShell invoer uit de console in de zogenaamde 'Gekookte modus', waarbij het Subsysteem van de Windows-console alle toetsdrukken, F7-menu's en andere invoer verwerkt. Wanneer u op Enter of Tab drukt, krijgt PowerShell de tekst die u tot dat moment hebt getypt. Het is niet mogelijk om te weten dat u op Ctrl+R, Ctrl-A, Ctrl+E of een andere toets hebt gedrukt voordat u op Enter of Tab drukt. In Windows PowerShell 3.0 lost de functie PSConsoleHostReadLine dit probleem op. Wanneer u een functie met de naam PSConsoleHostReadline definieert in de PowerShell-consolehost, roept PowerShell die functie aan in plaats van het invoermechanisme 'Gekookte modus'.