在“停止操作”上执行一些事件

时间:2016-01-14 21:02:08

标签: powershell powershell-v4.0 powershell-ise

我希望执行一些对Stoping the Script采取行动的功能

点击enter image description here

这可能吗?

我正在使用.Net对象,其中一些必须使用Dispose来关闭它们。 我想知道是否有可能这样做?

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你想知道你是否能以某种方式陷入按下停止按钮(收到中断信号)。我不知道在powershell中注意中断信号的方法,但你可以使用finally块来确保调用你的Dispose代码。这是我的简单测试:

try{
    while($true)
    {
        Write-Host "In try block . . . "
        Start-Sleep 1
    }
}
catch
{
       Write-Host "In catch block"
}
finally
{
       Write-Host "In finally block"
}

当我从ISE运行它并按下停止按钮(或按ctrl-C)时,我得到:

# C:\Temp> .\stopEx.ps1
In try block . . . 
In try block . . . 
In finally block