首页 > 解决方案 > 即使调用了一个函数但尚未在其中完成,我如何使 foreach 循环在 powershell 中运行。?

问题描述

我在 foreach 循环中有一个函数调用,我不想等到该函数完成并且需要让我的 foreach 循环运行,所以我可以在 powershell 中实现多线程概念。这可能吗?请指导谢谢。

foreach ($folders in $txtfilepath)

ftp_upload1 $foldertemp $Freelancername $articleid $Freelancermailfinal

由于这是一个上传功能,有时等待时间更长,所以我需要作为多线程工作,这样它会尽快完成所有上传请求。

标签: powershellpowershell-4.0

解决方案


您应该考虑使用 PowerShell后台作业。它的工作原理如下:

foreach ($folders in $txtfilepath) {
    Start-Job -ScriptBlock {
       ftp_upload1 $foldertemp $Freelancername $articleid $Freelancermailfinal
    }
}

但是您可能希望收到结果等,因此请查看about_jobs


推荐阅读