我有一個調用程序的批處理文件,但我想停止小時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和Windows 7 (和,我會假設運8)
嘗試使用批處理文件taskkill:
taskkill /IM myprogram.exe
至於它已經運行小時h後停止程序,我不知道如何來調用。如果你有特定的時間想要停止它,你可以使用像Windows計劃任務一樣簡單的事情。
否則,您可以嘗試使用像FireDaemon這樣的服務管理應用程序將myprogram.exe設置爲Windows服務,並將其安排在h小時後關閉。不幸的是,FireDaemon不是免費的,但它肯定會勝任這項任務。
這將是容易得多,假設你使用Vista或以上
start myprogram.exe
timeout /t 3600
taskkill /im myprogram.exe /f
只需用您的時間延遲(以秒爲單位)替換3600
即可。
這不會工作,例如,如果我打電話myprogram.exe它不會執行這個之後的其他命令,直到myprogram.exe停止 – Leo92
使用'開始myprogram.exe' - 這將繼續執行程序啓動後的批處理文件。你實際上必須指定'/ W'或'/ WAIT'來讓它暫停,直到程序結束 – SeanC
現在謝謝你的意思,乾杯 – Leo92