我们正在使用调用运算符&
在自动化过程中运行可执行文件:
& $pathToExecutable
现在看来,PowerShell 本身并不等待此可执行文件完成并继续执行脚本,这导致我们的自动化流程在某些用例中失败。调用运算符是否不等待已启动的进程完成,还是仅在某些条件下或特定类型的命令下等待?
调用操作符的文档没有提到它是否等待,它只是说命令在子作用域中运行。我觉得默认情况下你会期望它以同步方式运行命令,并在该命令完成后执行下一行。
我们正在使用调用运算符&
在自动化过程中运行可执行文件:
& $pathToExecutable
现在看来,PowerShell 本身并不等待此可执行文件完成并继续执行脚本,这导致我们的自动化流程在某些用例中失败。调用运算符是否不等待已启动的进程完成,还是仅在某些条件下或特定类型的命令下等待?
调用操作符的文档没有提到它是否等待,它只是说命令在子作用域中运行。我觉得默认情况下你会期望它以同步方式运行命令,并在该命令完成后执行下一行。
编辑(感谢@js2020):
这取决于可执行文件。
例如
cmd.exe
等待但notepad.exe
不等待。原来的:
它等待。尝试