1

我有一个 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”,然后 script2 启动。

我怎样才能实现相同的效果,即 script3.ps1 与 script2.ps1 的并行运行。

4

1 回答 1

2

我不太精通 PowerShell,但我知道您可以在 PowerShell 中运行后台作业

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

要用于创建后台作业的 cmdlet (command-let) 是Start-Job.

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

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

类似的问题?

于 2014-02-03T19:47:50.037 回答