質問: ### 前提・実現したいこと バッチファイル内のループで複数回プログラムを実行したいです。 現状のソースコードだと、ループ回数分一斉にプログラムが実行されるので、 1回ずつプロセスが終了するごとにループされるように、プロセスを監視して次の実行を待つ仕組みを加えたいです。 具体的にはiplist.csvに複数台の機器のIPアドレスを定義しておき、 ループで順番にTeratermマクロを実行するというバッチです。 現状だと一斉にttpmacro.exeが実行されるため、この実行操作を1台ずつ順番に進めたいです。 ### 該当のソースコード ``` @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION PUSHD %~dp0 SET CWD=%~dp0 REM Teratermマクロのためのパス SET TTL_EXE="C:\Program Files\teraterm\ttpmacro.exe" SET MACRO="%CWD%Macro.ttl" REM ファイルパス設定 SET FILENAME=iplist.csv FOR /F "tokens=1-4 skip=1 delims=-," %%i IN (%FILENAME%) DO ( REM ここで実行したプログラムが自動終了するまでループを停止したい ECHO HANDLE | START "TTL" %TTL_EXE% %MACRO% %%i ) ```
回答: `start`を`start /wait`に変更してください。