




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、如何編寫bat文件第一節:(主要是一些界面形式功能的實現以及初始化)1.“echo off”-我們所寫的BAT一開始一般都有這一句,這一句的作用是:使所有的命令響應隱藏。“”-本行命令不回顯。(本來如果你用echo off就可以了,但是還是能夠看到echo off這條命令在CMD下,影響美觀)2.“color 1e”-設置默認的控制臺前景和背景顏色。當前我設為藍底黃字,具體顏色請在CMD下用“color /?”查詢。-這里又提到了這個參數“/?”,一般CMD下命令后加“/?”就會顯示這條命令的幫助。3.“rem”-注釋作用,批處理執行過程中前不執行它,rem 后的字符只作注釋作用。4.“tit
2、le”-設置命令提示窗口的窗口標題。默認為“cmd”。改成自己喜歡的多有個性,嘿嘿。5.“cls”-不多說,清屏命令。主要是怕前面的一些空白或字符出現影響美觀。6.“set”-這個命令的作用很大,請用“set /?”查詢具體使用方法。本例“set topip=172.16.”是將一個名為“topip”的變量值設為“172.16.”。注意CMD下變量的設置不區別數字與字符,能夠自動根據提供的值調整。下行“set theip=0.0”同理。7.“echo .”-在新行中顯示一個“.”。echo命令能顯示其后的comment。這里提幾個有趣實用的用法-“echo.”,注意與前面的不同,“echo”與
3、“.”間無空格。這條命令如同一個回車,在新行不顯示任何信息并換行。“echo ”,實現響鈴的提示音。后面一個字符的輸入方法是在CMD下用“ctrl+G”,而這個字符得到的方法是CMD下用命令“echo "ctrl+G" >ex.txt”,存入ex.txt文件,再從那里提取出來的。嘿嘿,如果你懶得做,就copy我在上面提供的字符嘍。8.“if”-這條命令也會經常用到,請用“if /?”學習更多信息。本例“if not exist scanipc.exe (echo 文件錯誤!)”,實現功能:當同級目錄下不存在“scanipc.exe”時,提示“文件錯誤!”。否則不提示。
4、“if not exist filename”在批處理中使用比較多些。9.“:top”,設置一個標志點,標志名為“top”。“:”的作用就是設置標志。網上有文章說“使用":comment"作為注釋比"rem comment"執行效率更高。”我相信,這里也建議大家,如果BAT中注釋較多時,請使用“:comment”設置。10.“set /p pno=”-設置一個變量,并接受用戶輸入。BAT不需要預先聲明變量,只在需要時設置。參數“/p”:將變量數值設成用戶輸入的一行輸入。11.“if %pno% gtr 9 goto onerrorspno”-檢驗用戶輸入
5、值是否大于9,是,則轉到一個指定標志點。這里注意BAT中變量引用時要在前后加“%”,但在if語句中可有可無,具體應用大家多寫幾遍就有體會。12.“goto label”-無條件跳轉到指定標志位并向后執行。BAT好像只有這么一個跳轉語句了,作用不用我說,用了就知道。注意不要構成死循環。小結:到此,完成了顏色設置、注釋版權說明、標題設置、變量初始化、歡迎信息、功能界面初始化、標志點設置(因為歡迎信息只顯示一次而功能界面要多次使用所以將標志點設置在歡迎信息的后面。)命令的接受與跳轉。;功能界面一般要用“tab”鍵調整相對位置,才能起到美觀的效果。請多練習幾遍領會。;大家在寫腳本過程中要注意標志點的設
6、置位置,才能起到合適的效果。一般寫過幾個腳本會有些感受。;接著接受用戶輸入后“cls”清屏開始執行指定功能。注意這個cls的作用。因為清屏可以在此時,也可以在每個命令執行之前,但如果在每個命令執行之前用的請,那么要寫的cls就多了,于是把cls寫在這里合適,方便節約快捷。大家在寫腳本時也應當注意這方面的技巧,將使你寫出更加高效節約方便的代碼。在每次寫完腳本后合理地整合一下自己的代碼。能積累不少經驗。;另外,鑒于部分人仍不知道如何建立BAT文件與運行,請:打開記事本,寫入代碼,保存,保存類型為“所有文件*.*”,文件名為“name*.BAT”。保存后,雙擊運行。因為一般BAT運行很快,所以你可能
7、只看到窗口一閃就消失了,那么你可以在exit之前加pause確保能看見運行結果。到此,你應該能夠寫一個很簡單的腳本了,實現一些界面控制。例1:echo offcolor catitle 這是我第一個BAT腳本。echo 這是我第一個BAT腳本。不錯啊。pause >nulexit第二節:(提一些好用的命令)以下設置的都是功能段,在“goto step%pno%”跳轉到相應功能段后,開始執行相應功能。一般命令段:step1:ping命令。(在echo中變量的引用請注意前后加“%”號,否則會導致程序出錯。)我們常用的ping命令:其實很簡單,自己看幫助啦。本句“ping %topip%the
8、ip% -n 1 |findstr 100%>nul”將ping 只發送一次數據包,這樣命令執行起來就快多了,但這樣所會引起一定概率的誤判,而我們在內網這種概率很低,低到可以忽略。所以本人使用參數“-n 1”減少執行時間。將結果不回顯而通過管道命令“|”送給findstr分析,findstr查找是否存在“100%”,并將回顯“丟棄”-“>nul”。因為如果ping一臺主機如果返回的結果有“100%”存在說明“不在線。或者有防火墻阻擋。”。所以用findstr確定字符串“100%”的存在性,因為findstr也有回顯,但我們并不需要,所以將它“丟棄”,使用參數“>nul”將指定
9、命令回顯丟棄。(這一句命令是重點,請仔細領會。)又因為findstr確定指定字符串的存在性后會設定環境變量“errorlevel”的值,所以我們根據“if %errorlevel% equ 0(command)”,判斷findstr的執行結果就行了,也就不需要有回顯。“errorlevel”作用很大,一般命令行下的命令執行后都有一個特別的errorlevel,我們就可以根據相應的“返回值”作出相應判斷并執行相應功能。findstr如果找到指定字符串,則有errorlevel=0,說明:IP不在線。那么既然不在線,我們就沒有向下執行的必要了,直接跳回top界面功能接受下一次指令。如果IP有不同回
10、應,說明在線,則開始檢測共享。“net view %topip%theip%”-查看指定IP的共享清單。net詳細命令請自行查閱。列出共享清單后返回功能界面。step2:打開共享一。“explorer %topip%theip%”,用資源管理器打開指定的IP根。注意語法,其它也沒有什么。step3:IPC$空連接。“net use %topip%theip%ipc$ "" /user:"administrator"”,一個很老的漏洞,但也許內網還有機子存在哩,嘿嘿,語法就是這樣。step4:一般信息。“ipconfig /all”-用于得到本機的IP與M
11、AC等信息,很好用的命令。語法如示。“nbtstat -na %topip%theip%”-用于得到他方機子的一些信息,語法如示。另請自查幫助。step5:Scanipc。用命令行打開了一個程序而已。在命令行下執行其它命令也就是這樣啦。step6:返回時間。“net time %topip%theip%”-探測指定機子時間,語法如示。step7:遠程連接。“net use %topip%theip%admin$ "" /user:"administrator"”,嘿嘿,administrator空密碼連接。最簡單的入侵啦,嘿嘿嘿。語法如示。step8:本
12、機信息。跳到另一個功能界面執行相應功能。step9:高級命令。跳到另一個功能界面執行相應功能。step0:退出程序。一個exit退出腳本。“exit”,退出CMD。onerrorsip:實現錯誤提示,并重新執行step1。onerrorspno:實現錯誤提示,并重新跳轉到功能界面。高級命令段:引用前面已給定的IP,并對其進行一些高級操作。重新繪制功能界面。首先,注意在一個BAT文件中,不允許出現有標志名的重復。step11:條件連接。設定兩個變量,分別為用戶名與密碼。注意到有一個默認的功能。實現原理是,當接受到用戶輸入為空時(即一個回車),變量將保持不變。條件連接語法如示。比前面遠程空密碼連接
13、更高級一點,嘿嘿。step12:打開共享。打開已經連接成功的對方計算機的指定盤。打開指定盤語法如示。step13:發送消息。向對方發送消息。要求雙方的messager服務開啟,否則無法發送成功。發送消息語法如示。step14:遠程關機。設置關機時間與關機理由,用shutdown程序關閉對方計算機,嘿嘿,惡作劇。要求你連接成功,并有shutdown程序支持。shutdown語法自查幫助。step15:溢出CMD。嘿嘿,溢出到對方的CMD下,算是一個真正的入侵了。當然需要用戶名與密碼嘍。要求用戶名與密碼正確并對方默認支持遠程管理。并有psexec程序支持。psexec語法如示,并請自查幫助。ste
14、p16:結束進程。嘿嘿,不說也知道,結束對方已知進程。要求連接成功并有pskill程序支持。惡作劇類,有惡意成分。嘿嘿。小心使用。step17:ipc$連接。同step3.step18:斷開連接。斷開與對方的連接,就是擦屁股啦,以免讓對方有所察覺。這個好習慣要養成。語法如示。step19:一般命令。返回前面一個功能界面。step20:結束程序。退出。step110:AT命令,令對方在指定時間運行指定命令。有點像木馬,嘿嘿。要求連接成功。因為節約變量,所以引用了前面的暫不使用的變量。好習慣。哈哈。step111:telnet。遠程telnet。不要說你一點都不知道,語法如示并請自查幫助。step
15、112:更改主IP。主要是為了使我們的使用方便,對某個特定IP段探測能夠簡化輸入。如主IP改成“172.16.130.”,那么專門對130探測,而且輸入IP時只需輸入最后位,嘿嘿,多方便啊。step113:任意命令。主要是接受用戶輸入并執行用戶的輸入罷了,結構如示。本機信息段:主要是對本機信息的一些查詢語法。stepm1:ipconfig,不說了。但請注意到,在功能界面的實現上有一點,“&”符號,因為“&”符號在CMD下是命令連接符,如果光用“&”會讓BAT誤解為其后的都是命令。但我們只是希望輸出一個“&”罷了,于是用“”符號連接符表明只是輸出“&”,而
16、不是實現命令連接。這里提一下“&”命令連接符,例如:echo frist&echo second.同效于:echo fristecho second.只是實現結合兩行命令在同一行實現。類如一個很簡單的批處理啦。再提一下“”符號連接符,對一些特殊符號可能在CMD下無法正確如愿顯示,可用“”連接,以達到如期效果。用了“”在文本中占了一位空間,但在輸出時它并不顯示,所以注意界面的布置。stepm2:本機進程。利用命令行下的進程工具查看進程。要求pslist程序支持。stepm3:本機用戶。就是查詢一下本機用戶,也許會發現機了被動過的痕跡。stepm4:結束進程。在命令行下結束本機進程
17、。要求有pskill程序支持。stepm5:本機端口。也許能看出被攻擊或被入侵的痕跡。語法如示。stepm6:共享情況。看看本機的共享是否真的如你所想,如你所見。否則請注意安全嘍。語法如示。stepm7:啟動項值。在命令行下導出啟動項值并給出結果。比魔法兔子什么的快多了,就是界面不是很好看,呵呵。語法如示。stepm0:退出程序。退出。小結:到此,您學習過了一些有用的命令與應用。以及大部分的網絡命令與外部程序的使用。接下來你可以模擬IP小工具寫出適合更自己的IP小工具哦。注意每執行完一項功能后要用goto返回功能界面,否則腳本無條件向下繼續執行。;errorlevel的應用。在BAT中,err
18、orlevel的作用很大,大家在使用過程中通過多次接觸,感受一下如何玩轉errorlevel。在執行完一個程序后,可以用echo %errorlevel%查看程序運行后是如何設定errorlevel的值。;if的應用。在BAT中,if語句的作用也很大,特別與errorlevel結合實現自動判斷。以及一些基本條件判斷。請查看"if /?"學習更詳細的說明。;變量的接受與傳遞。這方面的感覺需要大家多寫BAT才能有所感觸。如何合理與高效的應用變量,能使你的腳本更加漂亮。計算機語言都是實踐性很強的,我們學習理論只是基礎,通過大量的實踐才能真正掌握一門語言的應用。第三節:(一些應用技
19、巧與命令)接下來我們看我的“代理服務器搜索組件 (ver 2.1)”,1.“>”與“>>”的區別。“>”-把指定數據傳送到指定文件或區域。有覆蓋作用,從文件頭開始重寫文件。如指定文件不存在,則新建文件并存入指定數據。“>>”-以追加方式將指定數據傳送到指定文件或區域。從文件結尾開始寫入指定內容。這兩個功能有區別,請注意選擇合適的傳送方式傳送數據。例如:“echo 文本內容。>link.txt”與“echo 文本內容。>>link.txt”。若本不存在文件link.txt或文件link.txt內容為空,那么兩條命令的運行結果相同。但如果lin
20、k.txt不為空,那么第一條命令將清除link.txt所有內容并存入數據“文本內容。”保存。而第二條命令只在link.txt的文件尾(另起一行,注意每一個“>>”都會另起一行寫入新數據)追加數據“文本內容。”而以前的內容保持不變。還要特別提一個前面說過的“丟棄”用法“>nul”,因為我們有時候只需要命令的運行而并不需要看到命令的運行結果以及回顯,但這些命令又會出現我們并不需要看到的回顯,影響美觀。故在其后追加“>nul”,丟棄回顯。2.循環語句的說明。例2::pushipset /p tip=if %tip%=%tbip% goto step1 set tbip=%ti
21、p%echo %tip% >>link.txtgoto puship本例中“if %tip%=%tbip% goto step1”與“if %tip% equ %tbip% goto step1”效果一樣。本例的作用是接受用戶帖入數據。關鍵技術在于:因為用戶帖入數據我們不能使用戶每次輸入都詢問是否結束,而需要實現“智能化”的判斷,但如何以最少的代碼、最簡單的方法實現所謂的“智能化”呢。分析用戶輸入情況:因為一般用戶帖入數據都不會出現重復,所以我們利用這個特點,分析用戶的數據,當用戶帖入列表時,分析數據并將數據存入相應文本,以備后用。當用戶粘帖文本結束后,再加一個回車,因為最后一次變
22、量沒有接受到任何修改,于是保持默認不變(也就是之前的數據。),再通過我們之前的數據備份對照,分析是否不變,是,則跳出循環。這樣,我們通過兩個變量以一個IF比較實現相對簡單的“智能化”。嘿嘿,這一點代碼想了我一個小時。這么說不知道大家是否能理解。請仔細參透例2的技術要點。3.“FOR /F "eol=; tokens=1 delims=: " %i in (link.txt) do (set /a Allip=Allip+1>nul)”這句FOR語句是復雜的雜合語句。首先請用for /?查閱詳細用法,這里不再復述。但是特別要提一點的就是批處理與直接命令行下的CMD的區別
23、在FOR語句上。批處理時,變量引用需要有兩個“%”號,否則無法正確執行,而CMD下不用,只需一個“%”。“set /a Allip=Allip+1>nul”-實現算術運算,變量Allip的自增,注意大小寫。把回顯“丟棄”。本例實現對文件link.txt內容計數,忽略以“;”開頭的行。這就是為什么我們在前面要用“echo ;:文本>link.txt”來創建文本的意義所在。4.“call toping %i”-從批處理程序調用另一個批處理程序。調用另一個批處理“toping.bat”(因為BAT可以直接運行所以不需要后綴BAT),并有參數傳遞。參數來自于FOR語句的提取。“FOR /F "eol=; tokens=1 delims=: " %i in (link.txt)”-從link.txt的每行中提取文本,從每行的開頭第一個字符開始(tokens=1),以“:”界定提取結尾(delims=: )。把提取結果賦給變量i。5.“type”-在命令行下顯示指定文件的內容。相信大家應該很熟悉,不多說了。注意與“>或>>”的結合使用,或與其它操作符的結合使用。6.“%1”-在CMD下,一個BAT能夠接受同時9位的參數,“%1%9”,分別對應給定的參數變量。“%0”,即是文件本身。我們在使用BA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 舞蹈藝術在藝術市場趨勢分析與發展預測考核試卷
- 萍鄉學院《藥物化學》2023-2024學年第一學期期末試卷
- 沈陽科技學院《科倫理與學術規范博士》2023-2024學年第二學期期末試卷
- 山西省朔州市右玉縣2025屆四下數學期末學業質量監測模擬試題含解析
- 蘭州信息科技學院《口譯理論與實踐》2023-2024學年第一學期期末試卷
- 山東省聊城市文苑中學2025年高三3月綜合測試歷史試題含解析
- 山東菏澤定陶區2025年初三年級第二次模擬考試數學試題含解析
- 山東杏林科技職業學院《入侵檢測與防御》2023-2024學年第二學期期末試卷
- 石嘴山市2024-2025學年四年級數學第二學期期末統考試題含解析
- 江西司法警官職業學院《心肺康復》2023-2024學年第一學期期末試卷
- 2025年地理高考復習 專題05“演變過程類”選擇題答題技巧(解析版)
- GB/T 3091-2025低壓流體輸送用焊接鋼管
- 豬場買賣合同協議
- 湖北省武漢市2025屆高中畢業生四月調研考試生物試題及答案(武漢四調)
- 25年公司級安全培訓考試試題含答案【典型題】
- 啤酒分銷合同協議
- 2024年山東鐵投集團春季社會公開招聘46人筆試參考題庫附帶答案詳解
- 供應商的準入管理
- 遼寧省名校聯盟2025屆高三高考模擬(調研卷)(四)數學試題
- 武漢2025屆高中畢業生二月調研考試數學試題及答案
- 小學數學六年級下冊-比例練習題(附帶答案及詳細解析)
評論
0/150
提交評論