如果花费太长时间,请退出脚本

帮助摩尔

我试图将大量数据转储到文件中,但是如果花费的时间太长,我想退出转储。有没有办法在PowerShell中执行此操作?我尝试了以下操作,但注意到逻辑不正确,无法满足我的需要。

$time = get-date
do
{
    dir c:\ -Recurse | Set-Content .\outtext.txt
}
while ((Get-Date).AddSeconds(5) -le $time)
马克西米利安·波斯兹利(Maximilian Burszley)

使用此示例,如果尚未完成,它将在一分钟后停止作业:

$Now = Get-Date

Start-Job -Name 'C' -ScriptBlock {
  Get-ChildItem -Path 'C:\' -Recurse | Set-Content -Path '.\outtext.txt' } 

Try
{
    Do
    {
        If ((Get-Date).AddMinutes(-1) -gt $Now)
        {
            Stop-Job -Name 'C'
            Throw 'an error'
        }
    } While ((Get-Job -Name 'C').State -eq 'Running')

    $Output = Receive-Job -Name 'C'
}
Catch
{
    $_
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章