首頁  >  文章  >  運維  >  利用bat批次檔操作windows實例程式碼

利用bat批次檔操作windows實例程式碼

零下一度
零下一度原創
2017-05-24 14:57:212697瀏覽

一個實現啟動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

【相關建議】

1. Windows7下的Java開發環境建立步驟(圖解)

2. Windows系統下安裝Ulipad編輯器

#3. 使用Python開發windows桌面程式

4. 教你如何在Windows環境下安裝python2和python3兩個版本

以上是利用bat批次檔操作windows實例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn