如何同时运行多个Powershell脚本?

时间:2016-04-02 10:24:59

标签: powershell

所以我有两个.ps1脚本,每隔60秒检查一次新任务,我想同时运行它们。我每天都使用它们并开始它们有点烦人。 理想情况下,我想编写一个我可以运行的脚本,为我运行这两个脚本。

问题在于,由于它们不会在某个时刻停止,我无法一个接一个地启动它们,我无法找到打开新PS ISE实例的命令。但是,一个实例不能同时运行这两个脚本。 Ctrl + T选项是完美的,但我无法找到等效的命令。

有没有人知道如何解决这个问题? 谢谢!

3 个答案:

答案 0 :(得分:3)

如果你有Powershell 3.0+,你可以使用workflows。它们与函数类似,但具有可以并行运行命令的优点。

所以你的工作流程是这样的:

workflow RunScripts {
    parallel {
        InlineScript { C:\myscript.ps1 }   
        InlineScript { C:\myotherscript.ps1 }
    }
}

请记住,工作流的行为类似于函数。所以需要先将其加载到缓存中,然后运行RunScripts命令调用。

更多信息: https://blogs.technet.microsoft.com/heyscriptingguy/2013/01/09/powershell-workflows-nesting/

答案 1 :(得分:2)

我认为你想要的是

Start-Process Powershell.exe -Argumentlist "-file C:\myscript.ps1"
Start-Process Powershell.exe -Argumentlist "-file C:\myscript2.ps1"

除此之外:在脚本中使用Import-Module $Modulepath以确保模块的可用性。

答案 2 :(得分:1)

使用CTRL + T在Powershell ISE中创建一个新的powershell实例(创建一个选项卡,我相信它名为powershell 2)。

在新的Powershell选项卡中,您现在可以打开第二个PowerShell脚本,并将其运行在其他PowerShell选项卡中运行的脚本旁边。