タスクスケジューラから開始されたPowerShellスクリプトを使用してバックグラウンドで実行する一連のSASプログラムがあります。PowerShell 4スクリプトのバックグラウンドジョブの制御
各プログラムが最初に終了してから、もう一方を開始したいと思います。
私はこのサイトで見つかった例を使用してさまざまなアプローチを試しましたが、うまくいかないようです。私が特に見つけることができないのは、バックグラウンドで実行されているジョブの状態です。次に、条件ステートメントでその状態を使用して、バックグラウンドで実行されている最初のプログラムが完了してから2番目のプログラムを開始することを確認します。例えば
、私が使用している場合:その後、
$job01 = Start-Job -ScriptBlock { & "C:\Program Files\SASHome\SASFoundation\9.4\sas.exe" -sysin "D:\EDM\SASPROGRAMS\ABC.sas" -nosplash -log D:\EDM\SASLOGS -work D:\SASWork }
Get-Job
私はSASプログラム自体が完了するまでに約10分を要したときに$job01
は、右Get-Job
を発行した後に完了していることがわかります。
バックグラウンドで実行されているSASプログラムが完了したタイミングを特定するために使用できるコマンドレットは何ですか?
編集のおかげで、アレックス。 – ljl