在 PowerShell 中按任意键继续

Rohan Timalsina 2023年1月30日
  1. 在 PowerShell 中使用 ReadKey (System.Console) 启用 press any key to continue
  2. 在 PowerShell 中使用 ReadKey (Console) 启用 press any key to continue
  3. 在 PowerShell 中使用 ReadKey (RawUI) 启用按任意键继续
  4. 在 PowerShell 中使用 Read-Host 启用 press any key to continue
  5. 在 PowerShell 中使用 cmd /c 'pause' 命令启用按任意键继续
  6. 在 PowerShell 中使用 timeout 启用 press any key to continue
在 PowerShell 中按任意键继续

本教程将教你在 PowerShell 中暂停执行。

它允许你在 PowerShell 中启用按任意键继续对话框。它通常用于等待用户输入或其他进程。

它还有助于减慢或暂停 PowerShell 中的执行。它通常不适用于 CtrlShiftWindowsAlt 等键。

在 PowerShell 中使用 ReadKey (System.Console) 启用 press any key to continue

System.Console ReadKey 可以执行如下所示。它接受除 ShiftAltCtrl 和其他修饰键之外的任何键。

[void][System.Console]::ReadKey($true)

在 PowerShell 中使用 ReadKey (Console) 启用 press any key to continue

你可以使用 [Console]::ReadKey() 在 PowerShell 中启用按任意键继续。它可以在暂停执行时读取键和修饰符。它不包括 ShiftAltCtrl 和其他修饰键。

[Console]::ReadKey()

按下该键时,会显示 KeyCharKeyModifiers 值。此数据存储为 System.ConsoleKeyInfo 对象。

输出:

KeyChar Key Modifiers
------- --- ---------
      a   A         0

在 PowerShell 中使用 ReadKey (RawUI) 启用按任意键继续

此方法类似于 [Console]::ReadKey()。它接受任何键,包括 CtrlShift⊞ WinAlt 和其他修饰键。

RawUI ReadKey 方法中可以传递不同的 ReadKeyOptions,例如 IncludeKeyDownIncludeKeyUpNoEchoAllowCtrlC

$host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

我们按下 q 后,它会显示以下结果。

输出:

VirtualKeyCode Character ControlKeyState KeyDown
-------------- --------- --------------- -------
            81         q       NumLockOn    True

在 PowerShell 中使用 Read-Host 启用 press any key to continue

Read-Host 是提示用户输入的最常用方法。当在 PowerShell 中提示用户输入时,你可以使用此方法暂停执行。

Read-Host -Prompt "Press any key to continue"

按键后,需要按Enter退出暂停模式。它在输出中显示输入的文本。

输出:

Press any key to continue: Hello
Hello

在 PowerShell 中使用 cmd /c 'pause' 命令启用按任意键继续

cmd /c pause 命令显示按任意键继续。 . . 并暂停执行,直到按下一个键。

cmd /c pause

输出:

Press any key to continue . . .

在 PowerShell 中使用 timeout 启用 press any key to continue

timeout 命令可以暂停执行一段特定时间或无限时间。你可以使用 /t 选项以秒为单位指定时间。指定超时的有效值范围从 -199999

如果未按下某个键,下面的命令将等待 5 秒

timeout /t 5

输出:

Waiting for 5 seconds, press a key to continue ...

-1 值用于在未按下键的情况下无限期地暂停执行。

timeout /t -1

输出:

Press any key to continue ...
作者: Rohan Timalsina
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

相关文章 - PowerShell Input