Sleep を明記したbatの結果がSystems ManagerのRun Command履歴に反映されない。

0

WindowsOS環境下で、Sleepコマンドを明記しているbatファイルをSystems ManagerのRun Commandで実行させています。

しかし、下図の通り、Run Commandの履歴を見ると、開始時刻、終了時刻にSleepコマンドの内容が反映されず、

数秒で終了しています。

正確な処理結果を得る方法はありますでしょうか。ご協力をお願いします。

コマンド履歴

batファイル内容

powershell sleep 60
echo "Hello, World!!" >test2.txt
dir
已提問 1 年前檢視次數 253 次
1 個回答
1
已接受的答案

現状は親プロセス(Run Command)が、子プロセス(batファイルの実行)を待てていないために、正確な実行時間を取得できていないのだと思います。

これを解決するためには、親プロセスが子プロセスを待つ必要があります。 具体的には、batファイル実行時に、Start-Processコマンドレットを使用し、-Waitオプション[1]を付与することで子プロセスの実行終了を待つことができると考えられます。

"AWS-RunPowerShellScript"のCommandsにて以下のような形でbatファイルを実行すれば、batファイルの実行終了を待つことができます。

Start-Process -Wait C:\Users\Administrator\test.bat

上記のような方法でbatファイルを実行することにより、Run Commandの実行時間に子プロセスの終了が反映されるかお試しください。

[1] Start-Process (Microsoft.PowerShell.Management ) - PowerShell | Microsoft Learn https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/start-process?view=powershell-7.3#-wait

AWS
Wada_T
已回答 1 年前
  • Wasa T様 解決策のご回答ありがとうございます。 無事、Run Commandの実行時間に子プロセスの終了が反映されるようになりました!

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南