You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中以后台任务运行带变量的管道排序进程?

实现后台运行第一个排序任务

直接用Start-Job把第一个排序逻辑包裹成后台作业即可,关键是要正确传递当前会话中的变量给后台进程。以下是修改后的代码:

# 将第一个排序任务放入后台执行
Start-Job -ScriptBlock {
    Get-Content $Using:attfile | Sort-Object { 
        [datetime]::ParseExact($_.Substring(0, 23), 'dd/MM/yyyy HH:mm:ss.fff', $null) 
    } | Out-File -FilePath $Using:new -Encoding ASCII
}

# 无需等待后台任务,直接执行第二个排序
Get-Content $navfile | Sort-Object { 
    [datetime]::ParseExact($_.Substring(0, 23), 'dd/MM/yyyy HH:mm:ss.fff', $null) 
} 2> $null | Out-File -FilePath "$navnew" -Encoding ASCII

关键说明

  • Start-Job 会启动一个独立的PowerShell进程来运行脚本块里的逻辑,不会阻塞当前会话的后续代码执行
  • $Using: 是PowerShell 3.0及以上版本的语法,用来引用当前会话中的变量(比如$attfile和$new),确保后台作业能访问到这些值
  • 如果需要监控后台任务状态,用Get-Job查看所有作业;任务完成后可以用Remove-Job <JobId>清理作业对象

内容的提问来源于stack exchange,提问作者Sam Alleman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 00:24:16