Javascript 在PowerShell脚本中运行.js脚本

Javascript 在PowerShell脚本中运行.js脚本,javascript,mongodb,powershell,Javascript,Mongodb,Powershell,我正在使用PowerShell脚本在客户的计算机上安装本地Mongo db。为了实现这一点,我正在使用JavaScript批处理为应用程序创建“用户配置文件”。下面是我用来调用JavaScript的代码: Write-Host "Running user setup" if ($OS32bit) { & "$($location)\$($environment)\MongoDB\Server\3.2\bin\mongo.exe" localhost:$port $

我正在使用PowerShell脚本在客户的计算机上安装本地Mongo db。为了实现这一点,我正在使用JavaScript批处理为应用程序创建“用户配置文件”。下面是我用来调用JavaScript的代码:

   Write-Host "Running user setup"
   if ($OS32bit)
   {
   & "$($location)\$($environment)\MongoDB\Server\3.2\bin\mongo.exe" localhost:$port $workingDirectory\InitMobileUser.js
   }
   else
   {
   & "$($location)\$($environment)\MongoDB\bin\mongo.exe" localhost:$port  $workingDirectory\InitMobileUser.js
   }
   Write-Host " "
   Write-Host "User Setup complete"

   # lets sleep to ensure the script has time to complete
   Start-Sleep -Seconds 10
我遇到的问题是,这似乎是一个“开火并忘记”类型的呼叫,在大约四分之一的计算机中,10秒的等待时间还不够。我希望PowerShell脚本在继续之前动态地等待Javascript完成,类似于c#wait函数

这能做到吗?
提前感谢您提供的任何帮助或与回答此问题的其他问题的链接

换行符在脚本中的正确位置吗?等一下,我会编辑以使其正确。。。很抱歉,感谢您注意到。好的,您正在运行带有一些参数的
mongo.exe
,其中一个参数是JavaScript脚本,它可能知道如何解析。在脚本中使用
&
运算符时,PowerShell会阻塞(即等待命令完成)。如果您启动的命令在运行后异步执行某些操作,PowerShell将无法检测到。我的建议是更新JavaScript代码,直到它真正完成才返回。不确定这是否可行。mongo.exe运行一个名为“mongod”的进程。javascript的最后一行应该会停止该进程。在这种情况下,脚本需要等待
mongod.exe
结束后才能退出。