从powershell脚本中运行powershell脚本

时间:2014-02-03 19:19:02

标签: powershell parallel-processing invoke-command start-job

我有perl脚本perl1.pl。 在perl脚本中,我调用了powershell脚本script1.ps1。 在script.ps1中,我将其他脚本称为script2.ps1,并将局部变量作为参数。 我准备了一个powershell脚本script3.ps1。 我想从script1.ps1与script2.ps1并行运行script3.ps1。 我需要传递sample_script2.ps1运行的相同参数(局部变量作为参数)。 首先需要调用script3然后调用script2。

我尝试过powershel.exe,如下所示

C:.. \ powershell.exe -FilePath script3.ps1 $ a,$ b,$ c

我已经包含了旁路,执行策略。$ a $ b $ c是局部变量。但是看起来发生的事情是命令行打开(因为它是我们调用脚本的方式)并开始执行script1.ps1以及何时它来自上面提到的命令它停止。我在上面的命令行中输入“exit”然后脚本2启动。

如何使用script2.ps1实现相同的script3.ps1并行运行。

1 个答案:

答案 0 :(得分:2)

我不太精通PowerShell,但我知道你可以运行background jobs in PowerShell

  

当cmdlet作为后台作业运行时,工作在其自己的线程中异步完成...

要用于创建后台作业的cmdlet(命令 - let)为Start-Job

Start-Job -FilePath c:\scripts\sample.ps1

此命令将Sample.ps1脚本作为后台作业运行。然后,您可以使用Receive-Job从所有工作中获得输出。

Similar Question?