about_PSConsoleHostReadLine
Description courte
Explique comment créer une personnalisation de la façon dont PowerShell lit l’entrée à l’invite de console.
Description longue
À compter de Windows PowerShell 3.0, vous pouvez écrire une fonction nommée PSConsoleHostReadLine qui remplace la façon par défaut dont l’entrée de console est traitée.
EXEMPLES
L’exemple suivant lance Bloc-notes Windows et obtient une entrée à partir d’un fichier texte que l’utilisateur crée :
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
}
Remarques
Par défaut, PowerShell lit les entrées de la console dans ce qu’on appelle « Mode cuit » : dans laquelle le sous-système de console Windows gère toutes les touches, menus F7 et autres entrées. Lorsque vous appuyez sur Entrée ou Tab, PowerShell obtient le texte que vous avez tapé jusqu’à ce point. Il n’existe aucun moyen de savoir que vous avez appuyé sur Ctrl-R, Ctrl-A, Ctrl-E ou toute autre touche avant d’appuyer sur Entrée ou Tab. Dans Windows PowerShell 3.0, la fonction PSConsoleHostReadLine résout ce problème. Lorsque vous définissez une fonction nommée PSConsoleHostReadline dans l’hôte de la console PowerShell, PowerShell appelle cette fonction au lieu du mécanisme d’entrée « Mode cuit ».
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour