1

プログラムを呼び出すバッチファイルがありますが、h時間後にこのプログラムを停止したいです。たとえば、私のバッチにはこのコードがあります

@echo off
........
.......
............
call myprogram.exe

h 時間後に myprogram.exe を停止する方法はありますか?

4

3 に答える 3

3
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を想定しています)

于 2012-06-27T20:54:22.270 に答える
2

Vista以降を使用していると仮定すると、これははるかに簡単です

start myprogram.exe
timeout /t 3600
taskkill /im myprogram.exe /f

3600を時間遅延 (秒単位) に置き換えるだけです。

于 2012-06-29T15:43:37.390 に答える
0

バッチ ファイルでtaskkillを使用してみてください。

taskkill /IM myprogram.exe

h時間実行した後にプログラムを停止する限り、それを呼び出す方法がわかりません。停止したい特定の時間がある場合は、Windows のスケジュールされたタスクのような単純なものを使用できます。

それ以外の場合は、 FireDaemonなどのサービス管理アプリケーションを使用して、myprogram.exe を Windows サービスとして設定し、h 時間後にシャットダウンするようにスケジュールすることができます。残念ながら、FireDaemon は無料ではありませんが、十分に機能することは間違いありません。

于 2012-06-27T19:58:10.930 に答える