【发布时间】:2020-05-12 04:15:03
【问题描述】:
每当我使用 Start-Sleep 在 powershell 中设置延迟时,例如:
Start-Sleep 10
那么它不会忽略 CTRLC。我的意思是当我按下那个键时,延迟就会退出。我怎么能在延迟中忽略它?
【问题讨论】:
标签: powershell delay keypress powershell-v5.1 powershell-v6.0
每当我使用 Start-Sleep 在 powershell 中设置延迟时,例如:
Start-Sleep 10
那么它不会忽略 CTRLC。我的意思是当我按下那个键时,延迟就会退出。我怎么能在延迟中忽略它?
【问题讨论】:
标签: powershell delay keypress powershell-v5.1 powershell-v6.0
您可以将[Console]::TreatControlCAsInput临时设置为$true:
[Console]::TreatControlCAsInput = $true
Start-Sleep 10 # Ctrl-C will now not abort this sleep.
[Console]::TreatControlCAsInput = $false
【讨论】:
我已经找到了一种方法:
[System.Threading.Thread]::Sleep(milliseconds)
这会在延迟时忽略 CTRL-C。
【讨论】: