Wie man eine Taste drückt, um in PowerShell fortzufahren

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

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:

powershell drücken Sie eine beliebige Taste, um fortzufahren - Ausgabe 1

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:

powershell drücken Sie eine beliebige Taste, um fortzufahren - Ausgabe 2

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:

PowerShell Drücken Sie eine beliebige Taste, um fortzufahren - Ausgabe 3

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:

powershell drücken Sie eine beliebige Taste, um fortzufahren - Ausgabe 4

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:

powershell drücken Sie eine beliebige Taste, um fortzufahren - Ausgabe 5

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:

powershell drücken Sie eine beliebige Taste, um fortzufahren - Ausgabe 6

Der Wert -1 wird verwendet, um die Ausführung unbegrenzt zu pausieren, wenn keine Taste gedrückt wird.

timeout /t -1

Ausgabe:

PowerShell Drücken Sie eine beliebige Taste, um fortzufahren - Ausgabe 7

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.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website