Jus*_* R. 26 powershell powershell-2.0
如何在PowerShell脚本中捕获和处理Ctrl+ C?我知道我可以通过包含Powershell.Stop()方法的覆盖从v2中的cmdlet执行此操作,但我找不到用于脚本的模拟.
我正在通过一个end块执行清理,但是我需要在取消脚本时执行额外的工作(而不是运行完成).
sta*_*and 43
try-catch-finally 的文档说:
即使您使用CTRL + C来停止脚本,也会运行Finally块.如果Exit关键字从Catch块中停止脚本,则也会运行Finally块.
请参阅以下示例.运行它并按下取消它ctrl-c.
try
{
while($true)
{
"Working.."
Start-Sleep -Seconds 1
}
}
finally
{
write-host "Ended work."
}
Run Code Online (Sandbox Code Playgroud)
FkY*_*kko 10
您可以使用PoshCode上描述的方法
摘要:
组
[console]::TreatControlCAsInput = $true
Run Code Online (Sandbox Code Playgroud)
然后使用调查用户输入
if($Host.UI.RawUI.KeyAvailable -and (3 -eq
[int]$Host.UI.RawUI.ReadKey("AllowCtrlC,IncludeKeyUp,NoEcho").Character))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21541 次 |
| 最近记录: |