about_PSConsoleHostReadLine
Descripción breve
Explica cómo crear una personalización de cómo PowerShell lee la entrada en el símbolo del sistema de la consola.
Descripción larga
A partir de Windows PowerShell 3.0, puede escribir una función denominada PSConsoleHostReadLine que invalide la forma predeterminada en que se procesa la entrada de la consola.
EJEMPLOS
En el ejemplo siguiente se inicia Bloc de notas y se obtiene la entrada de un archivo de texto que crea el usuario:
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
}
COMENTARIOS
De forma predeterminada, PowerShell lee la entrada de la consola en lo que se conoce como "Modo cocinado", en el que el subsistema de la consola de Windows controla todas las teclas, menús F7 y otra entrada. Al presionar Entrar o Tab, PowerShell obtiene el texto que ha escrito hasta ese punto. No hay forma de saber que presionaste Ctrl-R, Ctrl-A, Ctrl-E o cualquier otra tecla antes de presionar Entrar o Tab. En Windows PowerShell 3.0, la función PSConsoleHostReadLine resuelve este problema. Al definir una función denominada PSConsoleHostReadline en el host de la consola de PowerShell, PowerShell llama a esa función en lugar del mecanismo de entrada "Modo preparado".
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de