我已经安排了一个 SQLserver 代理作业来执行调用批处理启动的 PowerShell 脚本。但是,执行 PowerShell 时,它并没有等待批处理文件完成,而是转到下一个作业步骤。我可以做些什么来让它“等待”批处理文件完成然后再继续?
这是命令:
([WMICLASS]"\\SERVER\ROOT\CIMV2:win32_process").Create("cmd.exe /c E:\BatchFiles\First_Batch_File.bat")
最佳答案
Create
方法将返回其创建的进程的ProcessId
。您可以使用 Get-Process
$process = ([WMICLASS]"\\SERVER\ROOT\CIMV2:win32_process").Create("cmd.exe /c E:\BatchFiles\First_Batch_File.bat")
while ((Get-Process -Id $process.ProcessId -ErrorAction SilentlyContinue) -ne $null) {
write-host "waiting"
sleep 2
}
关于windows - PowerShell [wmiclass] Win32_Process.Create() 然后等待批处理文件完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43098319/