一個實現啟動windows程序和延遲關閉的bat批次文件,用於開啟IE與關閉IE,學習批次的朋友可以參考下。
前幾天領導讓我們在網站上投票提高他的排名,可是每人投一票才100多票。過了幾天領導問我會不會做個刷票程序,提高排名,我說可以試試,研究了一天,終於做出來了,興奮的我一晚上沒睡著。現在拿出來分享一下。
說白了我做的其實就是個批次文件,批次擴展名為.bat,其實那個投票頁面只是用session去控制是否投票,眾所周知,session變量在IE關閉後就會自動消失,重新打開頁面時又會創建一個新的連接,這就可以重複投了,這個頁面是用的AJAX,我找到ajax所在的JS,把它的真正的投票頁面找出來,把ID通過頁面傳入,實現投票。目前要做的就是自動開啟IE連線投票頁,然後自動斷開,自動再連,從而實現重複投票。
這個投票網站有兩個致命點,一是投票不進行IP控製而用session服務端控制,導致可以用一個IP重複投票,二是實際投票處理頁面的參數是透過GET方式進行傳輸,這就會導致作弊的可能。
利用以上兩個漏洞,我做也了一個bat批處理,如下:
程式碼如下:
@ echo off echo 正在关闭冗余进程,请稍等...... taskkill /f /im iexplore.exe echo -------------程序初始化完毕,请指示!---------- echo. & pause :openie echo 正在投票,请稍等...... start "" "C:\Program File s\Internet Explorer\iexplore.exe" echo IE打开完成! ping 127.0.0.1 -n 2 taskkill /f /im iexplore.exe echo 延时2秒关闭投票完成! goto openie echo. & pause
關鍵點解釋:
taskkill /f /im iexplore .exe 強制關閉IE進程,當然也可以關閉其它進程,關於進程名,可以透過任務管理器查到。
start "" "C:\Program Files\Internet Explorer\iexplore.exe" 這個是開啟一個windows程序,注意路徑,注意 start 後邊的 "" 一定不要丟掉。
ping 127.0.0.1 -n 2 用這個是來延時的,大家都知道bat批處理的延時執行太麻煩,這樣來的簡潔一些,需要注意的是一定要ping 本地127.0.0.1 ,否則可能導致記時長度不同,-n 2 的意思是重複兩次,太約為2秒,當然時長可調,只要調數字即可。
重點:bat批次的無限循環。 :openie 的意思是設定一個點,這個可以隨意,任何字母組合都行,不要與關鍵字重複。 goto openie 的意思是返回 前邊設定的那個點 openie ,設定的返回點前後一定要對應。
現在你可以把以上程式碼複製到 一個文字文件中,一定要把副檔名改為.bat ,.bat 是批次的標準副檔名。當然98的一個很經典的程式是autoexec.bat 相信很多過來人都聽過,有興趣的可以百度一下。當然你也可以舉一返三,來開啟或結束其它程式的進程。
有什麼不會的可以Q本人,QQ號在頁面底部右邊,共同提高共同進步,呵呵
以下這個程式是從網上找的,可以參拷,具體知道是做什麼的,有些地方還沒看明白,如果你的領悟能力高的話自己研究吧!
提示:以下這個程式是監控一個進程是否存在,如果不存在則啟動,如果進程遺失也啟動,也就是讓程式永遠運作!
程式碼如下:
@echo off set _task=notepad.exe set _svr=c:\windows\notepad.exe set _des=start.bat :checkstart for /f "tokens=5" %%n in ('qprocess.exe ^| find "%_task%" ') do ( if %%n==%_task% (goto checkag) else goto startsvr ) :startsvr echo % time % echo ********程序开始启动******** echo 程序重新启动于 %time% ,请检查系统日志 >> restart_service.txt echo start %_svr% > %_des% echo exit >> %_des% start %_des% set/p=.<nul for /L %%i in (1 1 10) do set /p a=.<nul&ping.exe /n 2 127.0.0.1>nul echo . echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs cscript //b //nologo %tmp%\delay.vbs 10000 del %_des% /Q echo ********程序启动完成******** goto checkstart :checkag echo %time% 程序运行正常,10秒后继续检查.. echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs cscript //b //nologo %tmp%\delay.vbs 10000 goto checkstart
【相關建議】
4. 教你如何在Windows環境下安裝python2和python3兩個版本
以上是利用bat批次檔操作windows實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!