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

M.T*_*.T. 4 powershell

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

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

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

Bal*_*zar 5

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

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

workflow RunScripts {
    parallel {
        InlineScript { C:\myscript.ps1 }   
        InlineScript { C:\myotherscript.ps1 }
    }
}
Run Code Online (Sandbox Code Playgroud)

请记住,工作流的行为就像一个函数。所以需要先加载到缓存中,然后通过运行RunScripts命令调用。

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


res*_*987 5

我认为你想要的是

Start-Process Powershell.exe -Argumentlist "-file C:\myscript.ps1"
Start-Process Powershell.exe -Argumentlist "-file C:\myscript2.ps1"
Run Code Online (Sandbox Code Playgroud)

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