プログラムを呼び出すバッチファイルがありますが、h時間後にこのプログラムを停止したいです。たとえば、私のバッチにはこのコードがあります
@echo off
........
.......
............
call myprogram.exe
h 時間後に myprogram.exe を停止する方法はありますか?
プログラムを呼び出すバッチファイルがありますが、h時間後にこのプログラムを停止したいです。たとえば、私のバッチにはこのコードがあります
@echo off
........
.......
............
call myprogram.exe
h 時間後に myprogram.exe を停止する方法はありますか?
REM delay for 36000 seconds (10 hours)
FOR /l %%a in (36000,-1,1) do (Echo closing in %%as&ping -n 2 -w 1 127.0.0.1>NUL)
REM delete the program using it's PID
FOR /f "tokens=2" %a in ('tasklist ^| find "notepad.exe"') do tskill %a
pingを使用すると、XP、Vista、および7で動作することを意味します(そして、Win 8を想定しています)
Vista以降を使用していると仮定すると、これははるかに簡単です
start myprogram.exe
timeout /t 3600
taskkill /im myprogram.exe /f
3600
を時間遅延 (秒単位) に置き換えるだけです。
バッチ ファイルでtaskkillを使用してみてください。
taskkill /IM myprogram.exe
h時間実行した後にプログラムを停止する限り、それを呼び出す方法がわかりません。停止したい特定の時間がある場合は、Windows のスケジュールされたタスクのような単純なものを使用できます。
それ以外の場合は、 FireDaemonなどのサービス管理アプリケーションを使用して、myprogram.exe を Windows サービスとして設定し、h 時間後にシャットダウンするようにスケジュールすることができます。残念ながら、FireDaemon は無料ではありませんが、十分に機能することは間違いありません。