延迟忽略 CTRL+C - powershell

Ignore CTRL+C in delay - powershell

每当我使用 Start-Sleep 在 powershell 中设置延迟时,例如:

Start-Sleep 10

那么它不会忽略CTRLC。我的意思是,当我按下那个键时,延迟就消失了。我怎么能在延迟时忽略它?

您可以暂时将[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。