質問するログイン新規登録

回答編集履歴

1

追記

2021/11/26 14:51

投稿

otn
otn

スコア86380

answer CHANGED
@@ -10,4 +10,17 @@
10
10
  ```
11
11
  を実行すれば、`waitfor /si hogehoge`が実行されるまで待ちます。
12
12
 
13
- ただし、順番が前後すると無限に待つことになってしまいますが、`hoge1.bat`が`hoge2.bat`を起動するまで時間がかかるので、すぐに実行しておけば大丈夫かと。
13
+ ただし、順番が前後すると無限に待つことになってしまいますが、`hoge1.bat`が`hoge2.bat`を起動するまで時間がかかるので、すぐに実行しておけば大丈夫かと。
14
+
15
+ #追記
16
+ 一定時間ごとに実行中かどうか調べる。
17
+ ```VBScript
18
+ Do While True
19
+ running = False
20
+ For Each proc In GetObject("winmgmts:").ExecQuery("select * from Win32_Process where Name='cmd.exe'")
21
+ If Instr(proc.CommandLine,"hoge2.bat") Then running = True '大文字小文字に注意
22
+ Next
23
+ If Not Running Then Exit Do
24
+ 数秒待つ 'VBAで待つ方法はいろいろあるので、どれか適当に
25
+ Loop
26
+ ```