强制等待/暂停,直到虚拟应用程序启动器实例关闭以继续Powershell脚本

时间:2013-01-14 02:04:57

标签: powershell powershell-v2.0

我有一个Powershell脚本,它使用VAppLauncher程序在整个代码中启动WinSCP三次,将文件从Windows移动到Unix。

我想知道是否有命令等待/暂停Powershell脚本,直到虚拟WinSCP控制台完成并且窗口关闭。目前,代码只是完成了这些步骤,而不是等待它完成。

对应用的调用:

C:\Windows\SysWOW64\CCM\VAppLauncher.exe /launch "WinSCP 4.0.6.358" /console /script=$aScript /log=$aLog

完整代码:

Try {
    C:\Windows\SysWOW64\CCM\VAppLauncher.exe /launch "WinSCP 4.0.6.358" /console /script=$aScript /log=$aLog
}
Catch [Exception] {
    Add-Content $tempLog "$a - System exception running $putScript:"
    Add-Content $tempLog $_.Exception.Message
}
Finally {
    Add-Content $tempLog "$a - WinSCP ran $putScript successfully"
}

1 个答案:

答案 0 :(得分:1)

最简单的方法是将WinSCP实例传递给Out-Null,这将使脚本停止运行,直到WinSCP关闭。

Try 
{
    C:\Windows\SysWOW64\CCM\VAppLauncher.exe /launch "WinSCP 4.0.6.358" /console /script=$aScript /log=$aLog | Out-Null
}
Catch [Exception] 
{
    Add-Content $tempLog "$a - System exception running $putScript:"
    Add-Content $tempLog $_.Exception.Message
}
Finally 
{
    Add-Content $tempLog "$a - WinSCP ran $putScript successfully"
}

注意try块末尾的Out-Null。如果您愿意,也可以使用后台作业。

相关问题