• 締切済み

コマンドプロンプトのコマンド処理が途中で終わる2

お世話になります。 以前 http://qa.itmedia.co.jp/qa9168537.html にて質問及び解決させていただいたのですが、 確認不足で思った処理にならない部分がありました。 上記URLの内容を抜粋します。 ============================================================= メインbat内にサブ1bat、サブ2batが存在し以下構成になっています。 (サブ1batで作成したデータを用いてサブ2batの処理を行います。) 問題は メインbatを実行した場合、サブ1batが実行された後にサブ2batが実行されず終わってしまいます。 (メインbatにサブ1batだけ、メインbatにサブ2batだけだと、各々問題なく処理が行われることは確認。) 以下、メインbat処理----------------------------------- setlocal enabledelayedexpansion FOR /f "delims=, tokens=1-3" %%i in (テキストファイルパス) do ( IF "%%i"=="1" ( サブ1bat %%j %%k ) ) endlocal setlocal enabledelayedexpansion FOR /f "delims=, tokens=1-3" %%i in (テキストファイルパス) do ( IF "%%i"=="1" ( サブ2bat %%j %%k ) ) endlocal ---------------------------------------- ※テキストファイルパスはループのもとになっているcsvファイルです。 ※各サブbatは戻り値を返しません。 ============================================================= この処理について サブ1bat及びサブ2batそれぞれの呼び出しで callを先頭に記述する必要があると以前回答いただき 処理としてはサブ1サブ2が全て処理されました。 そこで今回再動作検証した時にFORでループする件数が5件あったのですが、 5件だとサブ1batだけ5件処理が行われ、サブ2batの処理は行われないままメインbatが終了してしまいました。 FORでループする件数が1件だと問題ないなくサブ1サブ2それぞれ実行されたのですが、 複数件あると実行されませんでした。 どこに問題があるのかわからないので困っています。 宜しくお願いいたします。。

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

実行しているバッチファイル内容を改変せずにそのままコピペして下さい。

関連するQ&A