- ベストアンサー
batを逐次呼ぶbatファイルをバックグラウンド起動したい
バックグラウンド起動するときは、STARTを使う、ということまではわかったのですが、 ---a.bat--- @echo off start b.bat exit ----------- ---b.bat--- @echo off start /wait c.bat start /wait d.bat echo end exit ----------- とすると、b.batのc.batを起動した時点で終了してしまうようです。 b.bat起動→c.bat起動→d.bat起動→「end」表示 とするにはどうしたらいいでしょうか? b.batの内容を出来ればしなくないのですが…。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
callじゃ駄目なのですか? @echo off call b.bat call c.bat call d.bat echo end
その他の回答 (2)
- ivory-star
- ベストアンサー率57% (16/28)
c.bat、d.batも問題なく起動出来ているように見えますが… ただb.batで、「end」表示したあとすぐにexitしているので、勘違いされているのではないでしょうか? exit -> pause に変更してみて、「end」が表示されることを確認してみては?
お礼
回答ありがとうございます。 今気付いたのですが、実は ---b.bat--- @echo off echo C実行 pause start /wait c.bat echo D実行 pause start /wait d.bat echo end exit ----------- となってて、b.batに含まれている「pause」が原因だったようです。 どうもすみませんでした…。 皆さん、回答ありがとうございました。
- yambejp
- ベストアンサー率51% (3827/7415)
batはcmd上でプロセスが動くので、子プロセスとしてbatを立ち上げて みてください。 //a.bat @echo off echo a-start cmd /c b.bat echo a-end //b.bat @echo off echo b-start cmd /c c.bat cmd /c d.bat echo b-end //c.bat @echo off echo c pause //d.bat @echo off echo d pause
お礼
回答ありがとうございます。 cmdも試してみましたが駄目ですね。何でだろう…。
お礼
回答ありがとうございます。 callでやっても駄目でした…。