如何在PowerShell中暂停?

可能有不同的情况需要在PowerShell中暂停。我们可以暂停Powershell以等待用户输入、减慢执行速度、等待另一个进程或事件等。Powershell提供了不同的机制来暂停执行。

PowerShell暂停方法

可以使用以下方法在PowerShell中暂停命令。即使其中一些不是本地PowerShell命令或方法,也可以在PowerShell中轻松使用。例如,MS-DOS pause和timeout命令可用于暂停PowerShell终端。

  • 启动休眠命令
  • 线程休眠
  • 读取主机命令
  • 控制台读取键
  • RawUI读取键
  • MS-DOS暂停命令
  • MS-DOS超时命令

使用Start Sleep命令暂停PowerShell

PowerShell中最常用的暂停命令是 开始睡眠 命令或cmdlet。另外,Start Sleep命令是PowerShell提供的官方和本机命令。Start Sleep命令具有以下语法,其中 -秒 参数用于指定暂停秒数和 -毫秒 参数用于指定暂停毫秒数。

在下面的示例中,我们将暂停时间设置为3秒。

Start-Sleep -Seconds 3

我们也可以只使用毫秒来指定暂停时间。

Start-Sleep -Milliseconds 300

1秒等于1000毫秒。因此,在下面的示例中,我们将等待时间设置为3000毫秒,这等于3秒。

Start-Sleep -Milliseconds 3000

可以同时指定-Seconds和-millishes参数。

Start-Sleep -Seconds 3 -Milliseconds 500

另外,seconds参数可以通过使用双精度或浮点值来指定秒和毫秒。在下面的示例中,我们将暂停3.5秒,这相当于3秒500毫秒。

Start-Sleep -Seconds 3.5

使用线程睡眠暂停PowerShell

PowerShell是用.NET框架和.NET开发的 [系统线程线程] 类可用于暂停线程本身。这个 睡眠() 通过调用 [System.Threading.Thread]:睡眠() . 对于Sleep()方法,暂停时间指定为毫秒。在下面的示例中,我们将PowerShell暂停2秒100毫秒,这也等于2300毫秒。

[System.Threading.Thread].Sleep(2100)

或者,可以使用TimeSpan类型指定暂停时间。TimeSpan对象是通过提供天、小时、分钟、秒和毫秒值来创建的。在下面的示例中,我们将暂停2秒100毫秒。

[System.Threading.Thread].Sleep([TimeSpan]::New(0, 0, 0, 2, 100))

使用Read Host命令暂停PowerShell

Read Host命令用于从PowerShell命令行界面读取一些输入。由于Read Host命令不是为暂停而设计和创建的,所以shell提供了非常基本的用法,即在用户输入一些数据或按键之前暂停PowerShell。一般情况下,一些信息或提示被打印给信息用户。

Read-Host -Prompt "Please enter some value or press any key"

使用控制台ReadKey暂停PowerShell

Console ReadKey是另一种暂停PowerShell的方法。Console ReadKey提供了与Read Host命令类似的用法。PowerShell已暂停,以便以交互方式获取一些输入。控制台ReadKey的执行方式类似于“ [控制台]::ReadKey ()”方法。

[Console]::ReadKey()

使用RawUI ReadKey暂停PowerShell

RawUI ReadKey与控制台非常相似 读取键 方法,在该方法中可以定义按下的键,直到按下某个键,PowerShell才会等待。

$host.UI.RawUI.ReadKey('IncludeKeyUp')

使用MS-DOS Pause命令暂停PowerShell

PowerShell的MS-DOS前身。PowerShell被创建为与MS-DOS和MS-DOS的 暂停 ‘命令可用于暂停PowerShell。pause命令的用法如下。

pause

发出pause命令时,PowerShell屏幕上会显示以下行,其中resume需要按 输入 钥匙。

Press Enter to continue...

或者,我们可以通过提供MS-DOS或cmd作为执行环境来执行pause命令。

cmd /c 'pause'

使用MS-DOS超时命令暂停PowerShell

超时命令是用于暂停MS-DOS的本机命令。超时命令也可用于暂停PowerShell。timeout命令还可以通过使用 /t型 选项。在下面的示例中,我们将等待PowerShell 2秒钟。

timeout /t 2

我们还可以提供 -1 作为等待时间,它将无限期地等待。

timeout /t -1

相关文章: 如何在Windows MS-DOS(cmd.exe)中使用ping?

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享