我们使用调用运算符
&
在自动化流程中运行可执行文件:
& $pathToExecutable
现在看来,PowerShell 本身并不等待此可执行文件完成并继续执行脚本,导致我们的自动化流程在某些用例中失败。调用操作员是否不等待启动的进程完成,或者仅在某些条件下或特定类型的命令等待?
调用运算符的文档没有提及它是否等待,它只是说该命令在子作用域中运行。我觉得默认情况下您会期望它以同步方式运行命令,并在该命令完成后执行下一行。
等待。
尝试
write-host 1
& cmd.exe /c timeout 5
write-host 2