プログラムの連続起動をバッチファイルで作成しています。
本体(A.EXE)を連続起動させるべくfor文でテキストファイルを読み込み引数を与えながら起動して、ということをしたいのですが、A.EXEは自動で終了するもののワケあって終了した状態を取得できません。
そこで監視(B.EXE)を実行してA.EXEの終了を待つプログラムを用意しました。
for文の中でA.EXE起動→5秒待ち→B.EXE起動(バッチは待ち状態)→A.EXE終了→B.EXE終了(バッチ待ち解除)→2回目のA.EXE起動…という流れを想定していますが、B.EXEが待ち状態にならずA.EXEが実行されてしまいます。
バッチの中身をコマンドプロンプトで実行するとB.EXEは待ち状態となるのですがバッチ実行すると待ち状態になりません。
なにが原因かわからず質問いたしました。
ご助力いただけると助かります。
以下はバッチ内容です(for文は除きます)。
-----------------
start C:\work\A.EXE
timeout 5
start /w C:\work\B.EXE
-----------------
よろしくお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
startコマンド使わずに書けばいいんじゃないですか?
プロセスが終了するまでバッチファイルの実行は止まっているハズですが。
/wait付きとどこが違うのかは疑問…かなぁ。
それとも、a.exeは子プロセス起動して終了してしまうんですか?
そういう状況では厳しいかも知れませが…
b.exeからa.exeを起動させる。とかできませんかね?
プロセスの親子関係とか列挙する方法は…あったかなぁ。
b.exeからa.exeを子プロセスとして起動して、a.exeが起動した子プロセス(b.exeから見て孫プロセス)の終了状態も監視。
a.exeプロセスの孫プロセス(b.exeから見てひ孫プロセス)が起動されたら、その終了状態も監視……ってことになりますかね。
まぁ、a.exeがどういうモノなのか不明では手の打ちようがありませんが。
ウィンドウタイトルでの判定だと…場合によっては正しく判定できませんよ?
# 列挙したときには別のウィンドウタイトルになっているかも知れない。
# オーナードローとかで本来のウィンドウタイトルとは別のモノが表示されているかも知れない。
# 別のバッチファイルやスケジュールで起動したモノかも知れない。
No.4
- 回答日時:
バッチで次に行っちゃう場合、AもBも起動したままなんですか?
特にBが。
バッチでBだけを(Aを監視しないようにして、Aが終わる程度の時間sleepさせて)回してどうなんだろう?
これでも起きるならバッチの特性ということになっちゃいますねー、
No.3
- 回答日時:
Windows Power Shell で必要な機能は実現出来ると思われますので調べてみて下さい。
(DOS コマンド cmd.exe の機能拡張版)
windows power shell マイクロソフト 説明書 OR マニュアル 等でサーチ
==>
http://technet.microsoft.com/ja-jp/scriptcenter/ …
No.1
- 回答日時:
start /w ? start /wait ?
まだアイデアがわきませんが、Aの終了をどんな風に判断していますか?
そのプロセスを監視しているということですか?
手動だと起動等で時間がかかるから、Aが起動しているけど、
バッチの場合待ち時間が短すぎてAが起動する前にBがおわっちゃっているとか。
5びょうもあれば十分ですか。。。。
この回答への補足
ありがとうございます。
A.EXEの終了判定はB.EXEでウインドウタイトルを取得しそのタイトルが消えたら、というものです。
5秒のウエイトでウインドウタイトルを取得するのには十分なはずなのですが…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Windows 10 exeファイルが起動しない 4 2022/06/05 16:13
- その他(IT・Webサービス) エクセルの実行ファイルについての質問です。 1 2023/05/04 03:58
- フリーソフト TJA-Player3 Develop Rewhite 2 2023/05/04 21:24
- オープンソース Pythonのコードをexe化 1 2023/07/03 08:01
- その他(セキュリティ) exeファイルの個人情報について 3 2023/06/29 17:36
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Windows 10 Windows11の実行モジュールはどこにある 1 2022/05/31 07:33
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXEの起動について
-
common filesとは?
-
i7-4790パソコンにwindows11を...
-
KADOKAWAって今、システム障害...
-
_CATALOG.VIXという名前のファイル
-
IEセキュリティメッセージを表...
-
CAPICOM (KB931906)とは?
-
WindowsXP と Windows2000 の...
-
COMP-5
-
ファイルにフラグ(目印)を付...
-
これはウィルスでしょうか?顔...
-
インストール
-
Office2010をインストールして...
-
Access2003で質問です。
-
BgInfoツール実行させないよう...
-
削除したはずのファイルが勝手...
-
即売くんの佐川料金計算ツール...
-
ログイン、情報の送信ができません
-
パソコンのビデオカードが正し...
-
rundll32
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DBサーバを再起動したらSQLServ...
-
インターネット接続中に突然PC...
-
フォトショップCS2でのアップデ...
-
アクロバットリーダーが起動で...
-
GetHTMLWが起動しない
-
EXEの起動について
-
オラクル8.1.7クライアントと9....
-
カーソルが動かない?
-
フリーソフトのインストーラを...
-
AntiVirusが、たまに注意のまま...
-
温度測定ツール/HWMonitor
-
common filesとは?
-
i7-4790パソコンにwindows11を...
-
BgInfoツール実行させないよう...
-
ブラウザでサイトを見る際勝手...
-
_CATALOG.VIXという名前のファイル
-
WSUSサーバから特定のPCだけ承...
-
ファイルを一人しか開けないよ...
-
COMP-5
-
WindowsXP と Windows2000 の...
おすすめ情報