我有File1.ps1需要并行调用File2.ps1和File3.ps1,它们必须在不同的窗口中打开。任何想法我可能会做到这一点?如何通过从另一个PowerShell文件调用它来并行运行PowerShell文件?
启动过程和其他命令行似乎不工作。
我有File1.ps1需要并行调用File2.ps1和File3.ps1,它们必须在不同的窗口中打开。任何想法我可能会做到这一点?如何通过从另一个PowerShell文件调用它来并行运行PowerShell文件?
启动过程和其他命令行似乎不工作。
尝试设置每个文件以与计划任务一起执行以同时启动。我测试了它,发现两个窗口同时出现并执行。
$filePath = "C:\path\to\files"
$fileList = ".\File2.ps1", ".\File3.ps1"
$startTime = (get-date).AddMinutes(1)
foreach ($file in $fileList) {
Register-ScheduledTask `
-Trigger (New-ScheduledTaskTrigger -Once -At $startTime) `
-Action (new-scheduledtaskaction -execute "powershell.exe" -argument "-noexit -file $filePath\$($file.TrimStart('.\'))") `
-TaskName "Execute-$($file.Split(".\")[2])" `
-TaskPath Microsoft\Windows\PowerShell\ScheduledJobs `
-Principal (New-ScheduledTaskPrincipal -LogonType Interactive -UserId $env:USERDOMAIN\$env:USERNAME -RunLevel Highest)
}
但不会启动进程按顺序运行而不是并行运行? – user3325210 2014-11-17 20:07:26
@ user3325210我修改了我的答案。你是正确的,我发布的原始答案会按顺序执行每个启动过程。 – 2014-11-18 02:24:08
尝试使用作业系统。看一个很好的例子[这里](http://powershell.com/cs/blogs/tips/archive/2014/04/11/parallel-processing-in-powershell.aspx)。 – 2014-11-14 21:11:27
启动过程如何不起作用?例如:'Start-Process -FilePath powershell.exe -ArgumentList @(“ - NoExit”,“-Command”,“File2.ps1”)'。 – 2014-11-14 21:17:37