xp系統(tǒng),因?yàn)橐\(yùn)行一個(gè)破解軟件,日期必須是2011-02-01,才能運(yùn)行這個(gè)軟件,要求,運(yùn)行這個(gè)批處理先記錄下今天是xx年x月x日,然后改日期到2011.2.1,然后運(yùn)行artcampro.exe這個(gè)文件,批處理在后臺(tái)默默運(yùn)行,30秒一次判斷artcampro.exe進(jìn)程是否存在,如不存在則改回原來日期
其實(shí)我也有點(diǎn)思路,就是覺得麻煩,希望批處理達(dá)人幫幫忙了
代碼如下:
@echo off
set y=%date:~0,4%
set m=%date:~5,2%
set d=%date:~8,2%
echo %y%/%m%/%d%
date 2011/02/01
start d:\artcampro.exe
:loop
ping -n 31 127.1>nul
tasklist |find artcampro.exe>nul
if %errorlevel%==1 (date %y%/%m%/%d%&&exit) else (goto loop)
pause
30秒循環(huán)檢測(cè)進(jìn)程是否存在,不存在就改回日期退出批處理.
追問:如果我運(yùn)行了幾次這樣的軟件,會(huì)不會(huì)同時(shí)有幾個(gè)這樣的進(jìn)程存在呢?
回答:這得看運(yùn)行幾次是不是連續(xù)運(yùn)行,也就是說之前的程序(artcampro.exe)未關(guān)閉,我寫的這個(gè)只是判斷有沒有,而不是判斷有幾個(gè). 如 依夢(mèng)琴瑤所說 start /wait 等待程序結(jié)束.這樣可以用來啟動(dòng)一次程序.
追問:不知道有start /wait這個(gè),如關(guān)閉掉artcampro.exe程序就能把時(shí)間給改回去,這就最好了,
那么應(yīng)該怎么寫呢?
回答:
代碼如下:
@echo off
set y=%date:~0,4%
set m=%date:~5,2%
set d=%date:~8,2%
echo %y%/%m%/%d%
date 2011/02/01
start /wait d:\artcampro.exe
date %y%/%m%/%d%&&exit
pause
完整代碼.
追問:以前不知道start /wait,今天長(zhǎng)知識(shí)了,謝謝你,也謝謝其他回答的各位了。
提問者評(píng)價(jià):再次感謝
其他3條回答
代碼如下:
@echo off
(echo %date:~0,-3%)>1.txt
date 2011.2.1
start artcampro.exe
:loop
tasklist|find /i artcampro.exe || goto begin
ping -n 30 127.0.0.1>nul
goto loop
:begin
set /p d=<1.txt
date %d%
pause
命令詳解:
start /wait 你可以看一下命令幫助
wait 啟動(dòng)應(yīng)用程序并等待它終止。
command/program
如果它是內(nèi)部 cmd 命令或批文件,則該命令處理器是使用
cmd.exe 的 /k 開關(guān)運(yùn)行的。這表示運(yùn)行該命令之后,該窗口
將仍然存在。
如果它不是內(nèi)部 cmd 命令或批文件,則它就是一個(gè)程序,并將
作為一個(gè)窗口化應(yīng)用程序或控制臺(tái)應(yīng)用程序運(yùn)行。
yyykkkyyyy | 十三級(jí)
幫你懶一把 批處理放那artcampro.exe程序同位置再發(fā)送快捷方式到桌面,如果之前已啟用并正在運(yùn)行那個(gè)程序,它就不會(huì)再啟動(dòng)程度及改動(dòng)日期
代碼如下:
@echo off&cd/d %~dp0
if %~1==h goto begin
if not exist hide.vbs (
echo set ws = createobject(wscript.shell^)
echo ws.run cmd /c %~s0 h ,vbhide)>hide.vbs
start hide.vbs
exit
:begin
tasklist|find/i artcampro.exe&&exit
set td=%date:~,10%
date 2011-02-01
start /wait artcampro.exe
date %td%
其實(shí)不用檢測(cè),只需利用start /wait命令讓批處理等待程序結(jié)束即可,所以你可以結(jié)合jd08139這個(gè)知友的內(nèi)容即可