Wie man eine Taste drückt, um in PowerShell fortzufahren
-
Verwenden Sie
ReadKey (System.Console)
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren -
Verwenden Sie
ReadKey (Console)
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren -
Verwenden Sie
ReadKey (RawUI)
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren -
Verwenden Sie
Read-Host
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren -
Verwenden Sie den Befehl
cmd /c 'pause'
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren -
Verwenden Sie
timeout
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren - Fazit

In PowerShell-Skripting ist das Aktivieren einer Funktionalität “Drücken Sie eine beliebige Taste, um fortzufahren” eine häufige Anforderung, insbesondere beim Erstellen interaktiver Befehlszeilenanwendungen oder beim Bereitstellen von Feedback an Benutzer. Es gibt mehrere Methoden, um diese Funktionalität zu erreichen, jede mit ihren eigenen Vorteilen und Anwendungsfällen.
Dieser Artikel untersucht verschiedene Methoden zur Implementierung der Funktion “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell-Skripten, von integrierten Cmdlets bis hin zur Nutzung externer Befehle und COM-Objekte.
Verwenden Sie ReadKey (System.Console)
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren
Die Methode [System.Console]::ReadKey()
in PowerShell wird verwendet, um die nächste vom Benutzer gedrückte Taste oder Funktionstaste aus dem Standard-Eingabestrom (typischerweise von der Tastatur) zu lesen. Wenn sie ohne Argumente aufgerufen wird, wartet diese Methode darauf, dass der Benutzer eine Taste drückt, und gibt ein Objekt des Typs [System.ConsoleKeyInfo]
zurück, das die gedrückte Taste darstellt.
Der System.Console ReadKey
kann wie unten gezeigt ausgeführt werden. Er akzeptiert jede Taste mit Ausnahme von Shift, Alt, Ctrl und anderen Modifier-Tasten.
$keyInfo = [System.Console]::ReadKey($true)
Write-Host "Key Pressed: $($keyInfo.KeyChar)"
In der Codezeile $keyInfo = [System.Console]::ReadKey($true)
nutzen wir die Methode [System.Console]::ReadKey()
, um die Benutzereingabe zu erfassen. Indem wir $true
als Argument übergeben, zeigen wir an, dass die gedrückte Taste nicht im Konsolenfenster angezeigt werden soll.
Dies verhindert, dass die Konsole mit unnötigen Zeichen überladen wird, und sorgt für eine sauberere Benutzererfahrung. Um die Ausgabe von $keyInfo
anzuzeigen, können wir auf ihre Eigenschaften in Dot-Notation zugreifen.
Ausgabe:
Verwenden Sie ReadKey (Console)
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren
Sie können [Console]::ReadKey()
verwenden, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren. Es kann Tasten und Modifier lesen, während es die Ausführung pausiert. Es schließt Shift, Alt, Ctrl und andere Modifier-Tasten aus.
$keyInfo = [Console]::ReadKey()
In der Zeile $keyInfo = [Console]::ReadKey()
nutzen wir die Methode [Console]::ReadKey()
, um die Benutzereingabe zu erfassen. Diese Methode wartet darauf, dass der Benutzer eine Taste drückt und gibt ein Objekt zurück, das die gedrückte Taste darstellt und in der Variablen $keyInfo
speichert.
Ausgabe:
Verwenden Sie ReadKey (RawUI)
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren
Die Methode $Host.UI.RawUI.ReadKey()
in PowerShell wird verwendet, um die nächste vom Benutzer gedrückte Taste oder Funktionstaste aus der Konsoleneingabe zu lesen. Wenn sie aufgerufen wird, wartet diese Methode darauf, dass der Benutzer eine Taste drückt, und gibt ein Objekt zurück, das die gedrückte Taste darstellt.
Dieses Objekt enthält Eigenschaften wie Character
, die das Unicode-Zeichen der gedrückten Taste darstellt, und KeyDown
, die angibt, ob die Taste gedrückt wurde.
Diese Methode ist ähnlich wie [Console]::ReadKey()
. Sie akzeptiert jede Taste, einschließlich Ctrl, Shift, Alt und andere Modifier-Tasten.
Es gibt verschiedene ReadKeyOptions
, die in die Methode RawUI ReadKey
übergeben werden können, wie IncludeKeyDown
, IncludeKeyUp
, NoEcho
und AllowCtrlC
.
Beispiel:
$keyInfo = $Host.UI.RawUI.ReadKey()
In diesem Beispiel verwenden wir $Host.UI.RawUI.ReadKey()
, um die vom Benutzer gedrückte Taste zu erfassen und sie in der Variablen $keyInfo
zu speichern. Diese Methode wartet darauf, dass der Benutzer eine Taste drückt, und gibt ein Objekt zurück, das die gedrückte Taste darstellt.
Das $keyInfo
-Objekt enthält Eigenschaften wie Character
(das das Zeichen der gedrückten Taste darstellt) und KeyDown
(das angibt, ob die Taste gedrückt wurde).
Ausgabe:
Verwenden Sie Read-Host
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren
Das Cmdlet Read-Host
in PowerShell ist ein vielseitiges Werkzeug, das verwendet wird, um Benutzereingaben aus dem Konsolenfenster zu erfassen. Sein Hauptzweck ist es, dem Benutzer eine Eingabeaufforderung anzuzeigen und darauf zu warten, dass dieser einen Wert eingibt, der dann in einer Variablen für die weitere Verarbeitung innerhalb des Skripts gespeichert wird.
Beispiel:
Read-Host -Prompt "Press any key to continue"
In diesem Beispiel verwenden wir Read-Host
mit dem Parameter -Prompt
, um die Nachricht "Drücken Sie eine beliebige Taste, um fortzufahren..."
an den Benutzer anzuzeigen. Das Skript pausiert an diesem Punkt die Ausführung und wartet darauf, dass der Benutzer irgendeinen Text gefolgt von der Enter-Taste eingibt.
Obwohl es nicht genau “drücken Sie eine beliebige Taste” ist, erreicht diese Methode ein ähnliches Ergebnis, indem sie eine Benutzereingabe erfordert, bevor es fortgeht.
Ausgabe:
Verwenden Sie den Befehl cmd /c 'pause'
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren
Im PowerShell-Scripting bietet die Methode cmd /c 'pause'
eine einfache Möglichkeit, die Ausführung des Skripts zu pausieren und auf das Benutzerecho zu warten, bevor es weitergeht. Diese Methode nutzt den Befehl cmd
, um den Pause-Befehl aus der Eingabeaufforderung innerhalb eines PowerShell-Skripts auszuführen.
Wenn sie ausgeführt wird, zeigt der Pause-Befehl die Nachricht "Drücken Sie eine beliebige Taste, um fortzufahren . . ."
an und wartet darauf, dass der Benutzer eine beliebige Taste drückt, bevor das Skript mit der Ausführung fortfährt.
Beispiel:
cmd /c pause
In diesem Beispiel verwenden wir den Befehl cmd /c 'pause'
, um die Ausführung des Skripts zu pausieren und auf die Benutzereingabe zu warten. Wenn er ausgeführt wird, zeigt das Eingabeaufforderungsfenster die Nachricht "Drücken Sie eine beliebige Taste, um fortzufahren . . ."
an und wartet darauf, dass der Benutzer eine beliebige Taste drückt, bevor das Skript mit der Ausführung fortfährt.
Ausgabe:
Verwenden Sie timeout
, um “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell zu aktivieren
Der Befehl timeout
kann die Ausführung für einen bestimmten Zeitraum oder unbegrenzt pausieren. Sie können die Option /t
verwenden, um die Zeit in Sekunden anzugeben.
Der gültige Wert des angegebenen Timeouts reicht von -1
bis 99999
.
Beispiel:
timeout /t 5
In diesem Beispiel verwenden wir den Befehl timeout
, um die Ausführung des Skripts für 5 Sekunden zu pausieren. Dies erzeugt effektiv eine Aufforderung für den Benutzer, 5 Sekunden zu warten, bevor es weitergeht.
Ausgabe:
Der Wert -1
wird verwendet, um die Ausführung unbegrenzt zu pausieren, wenn keine Taste gedrückt wird.
timeout /t -1
Ausgabe:
Fazit
Die Implementierung der Funktion “Drücken Sie eine beliebige Taste, um fortzufahren” in PowerShell-Skripten ist entscheidend für die Erstellung interaktiver und benutzerfreundlicher Befehlszeilenanwendungen. Durch die Nutzung von Methoden wie [System.Console]::ReadKey()
, [Console]::ReadKey()
, Read-Host
, cmd /c 'pause'
, timeout
und WScript.Shell Popup
können Skriptautoren den Benutzern klare Aufforderungen geben und die Ausführung bis zur Bestätigung des Benutzers pausieren.
Jede Methode bietet einzigartige Fähigkeiten und kann an spezifische Anforderungen angepasst werden, um ein nahtloses Benutzererlebnis und eine verbesserte Interaktivität des Skripts zu gewährleisten. Ob informative Nachrichten angezeigt, Aktionen bestätigt oder interaktive Dienstprogramme erstellt werden, PowerShell bietet vielseitige Werkzeuge, um unterschiedlichen Skriptingbedürfnissen gerecht zu werden.