Powershell 同时运行多个执行
我正在尝试编写一个“方便”的脚本。它已经发展到我需要它同时执行多个任务的地步 基本上,我需要它在单独的命令提示符窗口中启动两个开发web服务器。这是可以通过PowerShell脚本实现的吗?如果是,怎么做 我正在使用Windows10附带的任何PowerShell版本Powershell 同时运行多个执行,powershell,Powershell,我正在尝试编写一个“方便”的脚本。它已经发展到我需要它同时执行多个任务的地步 基本上,我需要它在单独的命令提示符窗口中启动两个开发web服务器。这是可以通过PowerShell脚本实现的吗?如果是,怎么做 我正在使用Windows10附带的任何PowerShell版本 $ep=获取执行策略 if($ep-相等于“远程签名”){ $root=“C:\Users\User\OneDrive\\u code\u projects\” $whichserver=Read Host-提示“输入要处理的项目
$ep=获取执行策略
if($ep-相等于“远程签名”){
$root=“C:\Users\User\OneDrive\\u code\u projects\”
$whichserver=Read Host-提示“输入要处理的项目的名称”
$test=“y”#读取主机提示“是否要激活python环境?是/否”
$activatestr=($root+“env\Scripts\Activate.ps1”)
$path=($root+“django\u项目\”+$whichserver+“\”)
$runserverstr=($path+“\manage.py”)
如果($测试-等式'y'){
&$activatestr
}
$test=读取主机-提示“是否要运行ATOM IDE?是/否”
如果($测试-等式'y'){
atom$路径
}
#$test=Read Host-Prompt“是否要将cd刻录到项目根目录中?y/n”
如果($测试-等式'y'){
cd$路径
}
$test=读取主机-提示“是否要运行开发服务器?是/否”
#在这里,我想在react应用程序的根目录中打开命令提示符,或者
#然后我想启动django开发服务器。
如果($测试-等式'y'){
cd$path+$whichserver+“\u react\u main”
cmd.exe/C npm启动
光盘
cmd.exe/C python.exe$runserverstr runserver
}
只需使用(或其别名start
):
另一个选项是启动服务器进程,如下所示:
后者将在后台运行进程,因此其输出不会显示在控制台中,但您可以通过以下方式获取:
您是否刚刚尝试了
Start Process
?它不会等待被调用的进程返回,就像Start Process-FilePath“npm”-ArgumentList“Start”-WorkingDirectory$pwd
应该提到的是,在OP的特殊情况下,脚本将与python.exe
一起工作,但可能无法与节点一起工作,因为参数中没有提供绝对路径,start
需要一个包定义。我假设它应该工作,因为原始代码没有pATH也一样,而且据说是有效的。但仍然有效。这对于启动流程
,是正确的,因为它在$pwd
中启动,但对于启动作业
。收到后,启动作业{cmd/C echo%cd%}
将返回另一个路径,而不是启动流程“cmd”-ArgumentList”/C;“echo%cd%&pause”
如果不是从用户的家中启动,则使用启动进程的响应似乎正是我所需要的。我在目录中使用启动进程'python'-ArgumentList./manage.py','runserver'
进行了测试。
Start-Process 'python.exe' -ArgumentList $runserverstr, 'runserver'
$job = Start-Job {
& 'python.exe' $runserverstr 'runserver'
}
Receive-Job -Job $job