0

VAppLauncherプログラムを使用してコード全体でWinSCPを3回起動し、ファイルをWindowsからUnixに移動するPowershellスクリプトがあります。

仮想WinSCPコンソールが終了してウィンドウが閉じるまで、Powershellスクリプトを待機/一時停止するコマンドがあるかどうか疑問に思いました。現在、コードは手順を実行するだけで、これが完了するのを待ちません。

アプリへの呼び出し:

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"
}
4

1 に答える 1

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"
}

Out-Nulltry ブロックの最後にある に注目してください。必要に応じて、バックグラウンド ジョブを使用することもできます。

于 2013-01-14T05:25:49.287 に答える