- - PR -
bat実行でexeプログラムを複数回繰り返すのは不可能?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-05-28 18:58
もしかしたらそもそも出来ないことなのかもしれませんが
不勉強の為存知上げないままに質問してしまいますことをご容赦ください。 バッチファイル(.bat)にfor文で繰り返し実行したい文があります。 但しこの文はコマンドではなく、プログラム(exe)なのですが、 試しにbatを実行してみたところ、最初の処理だけ実行されて バッチファイルが終了してしまいます。 exeではなく、DOSコマンドで同じfor文を試したところ、こちらは 問題なく繰り返し動作しました。 なので、exe実行が繰り返しできないのではと思った次第なのですが、 その認識は正しいでしょうか。 また、もし代替案をご存知の方がいらっしゃいましたら お手数ですがご教授頂けないでしょうか。 以上宜しくお願い致します。 | ||||
|
投稿日時: 2008-05-28 20:55
最終的にやりたいことが何かわかりませんが、たぶんこんな感じでOKなはず。
詳しくは start /? の説明を参照。 [追記] バックグラウンドで実行したいのかな? と予想したのが上の回答ですが、 逐次的でよいのであれば、startを取り外してください。 この場合、開いたメモ帳を閉じると次のメモ帳が開くといった動きになります。 [/追記] [ メッセージ編集済み 編集者: rain 編集日時 2008-05-28 22:05 ] [ メッセージ編集済み 編集者: rain 編集日時 2008-05-28 22:05 ] | ||||
|
投稿日時: 2008-05-29 10:21
rainさん
またまたご回答ありがとうございます。 notepadのように単純な起動プログラムであれば動くのですが、 今動かしたいプログラムは業務処理用のプログラムでして、 exeを実行するとアプリケーション内で処理されて 結果(リターンコード)を専用ログに出力するという代物です。 このようなプログラムだと同じfor文でも一回処理が終了すると その時点でバッチファイルも閉じてしまうのです。 通常はその操作をOSから実行するのではなく、GUI操作で 実行(バックグラウンドでOSプログラムが実行される)するもの なのですが、処理件数の増加に伴ってGUI操作で1件1件処理 するよりもバッチファイルで一括実行させた方が運用し易いと 考えている次第です。 やはりこのような処理系プログラムはバッチファイル実行には 不向きなのでしょうか。。。? | ||||
|
投稿日時: 2008-05-29 10:40
だとすると、バッチファイルでは厳しいと思います。 起動用に別途プログラムを作成されたほうがよいかもしれません。 # vbsなどのスクリプト言語でも可能かもしれませんが、ちょっと私にはわかりません。 (だめな理由を考えてみました) 例えば、先のバッチファイルの最終行に exit を置くと、for文の1回のループでバッチファイルが終了してしまいます。 おそらくそのプログラムが終了するときにも、同じようなことが行われているのだと思います。 | ||||
|
投稿日時: 2008-05-29 10:54
exeコマンドの前にcmd /C をつけてもだめですか?
| ||||
|
投稿日時: 2008-05-29 10:58
こんにちは。
うろおぼえですが、過去、ただそのexeをkickするだけの batをつくってstartさせて回避したような 気がします。 以上、参考になれば。 | ||||
|
投稿日時: 2008-05-29 11:06
それだ! というわけですみません、さっきの私の発言はスルーしてください m(_ _)m # バッチファイルは久しぶりに書いたけど奥が深い.. | ||||
|
投稿日時: 2008-05-29 11:27
rainさん みなとさん だっちょさん
ご回答ありがとうございました。 お蔭様で動かすことができました! cmd /C でしたか。。 皆様本当にありがとうございました。 めちゃめちゃ助かりました。 |
1