我正在尝试将大量数据转储到文件中,但如果花费的时间太长,我想要从转储中退出。有没有办法在PowerShell中执行此操作?我尝试了以下但注意到逻辑是不正确的,不会做我需要的。
$time = get-date
do
{
dir c:\ -Recurse | Set-Content .\outtext.txt
}
while ((Get-Date).AddSeconds(5) -le $time)
答案 0 :(得分:0)
使用这个例子,它会在一分钟后停止作业,如果它还没有完成:
$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
{
$_
}