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á)人幫幫忙了,解決后必定追加懸賞復(fù)制粘貼黨就不用來了
代碼如下:
@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%
依夢(mèng)琴瑤 | 來自手機(jī)知道 | 十三級(jí)
其實(shí)不用檢測(cè),只需利用start /wait命令讓批處理等待程序結(jié)束即可,所以你可以結(jié)合jd08139這個(gè)知友的內(nèi)容即可
更多信息請(qǐng)查看IT技術(shù)專欄