批處理解析
這是一篇技術教程我會用很簡單的文字表達清楚自己的意思你要你識字就能看懂就能學到知識寫這篇教程的目的是讓每一個看過這些文字的朋友記住一句話如果愛可以讓事情變的更簡單那麼就讓它簡單吧!看這篇教程的方法就是慢!慢慢的如同品一個女人一杯茗茶你會發現很多以前就在眼前的東西突然變的很遙遠而有些很遙遠的東西卻又突然回到了眼前
先概述一下批處理是個什麼東東批處理的定義至今我也沒能給出一個合適的——眾多高手們也都沒給出——反正我不知道——看了我也不一定信服——我是個菜鳥當然就更不用說了但我想總結出一個比較合適的而且我也相信自己可以把它解釋的很清楚讓更多的菜鳥都知道這是個什麼東東你用這個東東可以干什麼事情或許你會因為這篇文章而無條件愛上批處理那麼我的目的就達到了——我就是要讓你愛上它我就這麼拽你能怎麼著??真的愛有時候就這麼拽就是這麼沒理由就是這麼不要臉!真的!
按照我的理解批處理的本質是一堆DOS命令按一定順序排列而形成的集合
OKnever claver and get to business(閒話少說言歸正傳)批處理也稱為批處理腳本英文譯為BATCH批處理文件後綴BAT就取的前三個字母它的構成沒有固定格式只要遵守以下這條就ok了每一行可視為一個命令每個命令裡可以含多條子命令從第一行開始執行直到最後一行結束它運行的平台是DOS批處理有一個很鮮明的特點使用方便靈活功能強大自動化程度高我不想讓自己寫的教程枯燥無味因為牽纏到代碼(批處理的內容算是代碼吧?)的問題本來就是枯燥的很少有人能面對滿屏幕的代碼而靜下心來所以我會用很多簡單實用的例子讓讀這篇教程的朋友去體會批處理的那四射的魅力感受它那古靈精怪的性格不知不覺中愛上批處理(暈怎麼又是愛?到底批處理和愛有什麼關系?答案沒有!)再說句閒話要學好批處理DOS基礎一定要牢!當然腦子靈活也是很重要的一方面
例一先給出一個最easy的批處理腳本讓大家和它混個臉熟將下面的幾行命令保存為namebat然後執行(以後文中只給出代碼保存和執行方式類似)
ping > atxt
ping >> atxt
ping >> atxt
ping >> atxt
ping >> atxt
ping >> atxt
ping >> atxt
ping >> atxt
exit
是不是都能看的懂?是不是很easy?但它的作用卻是很實用的執行這個批處理後可以在你的當前盤建立一個名為atxt的文件它裡面記錄的信息可以幫助你迅速找到速度最快的QQ服務器從而遠離從服務器中轉那一痛苦的過程這裡>的意思是把前面命令得到的東西放到後面所給的地方>>的作用和>的相同區別是把結果追加到前一行得出的結果的後面具體的說是下一行而前面一行命令得出的結果將保留這樣可以使這個atxt文件越來越大(想到如何搞破壞了??)By the way這個批處理還可以和其他命令結合搞成完全自動化判斷服務器速度的東東執行後直接顯示速度最快的服務器IP是不是很爽?後面還將詳細介紹
批處理使用技巧
例二再給出一個已經過時的例子(abat)
@echo off
if exist C:\Progra~\Tencent\AD\*gif del C:\Progra~\Tencent\AD\*gif
abat
為什麼說這是個過時的例子呢?很簡單因為現在已經幾乎沒有人用帶廣告的QQ了(KAO我的QQ還顯示好友三圍呢!!)所以它幾乎用不上了但曾經它的作用是不可小窺的刪除QQ的廣告讓對話框干干淨淨這裡用的地址是QQ的默認安裝地址默認批處理文件名為abat你當然可以根據情況自行修改在這個腳本中使用了if命令使得它可以達到適時判斷和刪除廣告圖片的效果你只需要不關閉命令執行後的DOS窗口不按CTRL+C強行終止命令它就一直監視是否有廣告圖片(QQ也再不斷查看自己的廣告是否被刪除)當然這個腳本占用你一點點內存呵呵
例三使用批處理腳本查是否中冰河腳本內容如下
@echo off
netstat a n > atxt
type atxt | find && echo Congratulations! You have infected GLACIER!
del atxt
pause & exit
這裡利用了netstat命令檢查所有的網絡端口狀態只需要你清楚常見木馬所使用的端口就能很easy的判斷出來是否被人種了冰河然這不是確定的因為冰河默認的端口完全可以被人修改這裡介紹的只是方法和思路這裡介紹的是方法和思路稍做改動就變成可以檢查其他木馬的腳本了再改動一下加進去參數和端口及信息列表文件後就變成自動檢測所有木馬的腳本了呵呵是不是很過瘾?腳本中還利用了組合命令&&和管道命令|後面將詳細介紹
例四借批處理自動清除系統垃圾腳本如下
@echo off
if exist c:\windows\temp\** del c:\windows\temp\**
if exist c:\windows\Tempor~\** del c:\windows\Tempor~\**
if exist c:\windows\History\** del c:\windows\History\**
if exist c:\windows\recent\** del c:\windows\recent\**
將以上腳本內容保存到autoexecbat裡每次開機時就把系統垃圾給自動刪除了這裡需要注意兩點一DOS不支持長文件名所以就出現了Tempor~這個東東二可根據自己的實際情況進行改動使其符合自己的要求
怎麼樣看到這裡你對批處理腳本是不是已經有點興趣了?是不是發現自己已經慢慢愛上了這個東東?別高興的太早愛不是一件簡單的事它也許能帶給你快樂和幸福當然也能讓你痛苦的想去跳樓如果你知道很難還敢繼續的話I 服了 YOU!繼續努力吧也許到最後你不一定得到真愛(真的有這可能愛過的人都知道)但你可以體會到整個愛的過程就是如此 酸苦和辣有沒有甜天知道
為什麼會把批處理和愛情扯上關系?不是我無聊也不是因為這樣寫有趣多少原因有二其一批處理和愛情有很多相同的地方有些地方我用專業的行話解釋不清(我不懷疑自己的表達能力而是事情本身就不好說清楚)說了=沒說但用地球人都知道的愛情一比喻(愛情是什麼?我**怎麼知道!!)沒准你心裡一下就亮堂了事半功倍何樂而不為?其二我這段時間狀態不是很好感冒發燒頭疼鼻塞但主要還是感情上精神摧殘搞的人煩透了借寫教程之際感慨幾句大家就全當買狗皮膏藥了完全可以省略不看(也許還真有點效果——不至於讓你看著看著就睡著了把頭磕了來找我報銷醫藥費)說不定下次的教程中大家還會看到楊過張無忌等金老前輩筆下的英雄們
看過第一章的朋友一定對批處理有了初步的印象知道它到底是用來干什麼的了但你知道運用批處理的精髓在哪裡嗎?其實很簡單思路要靈活!沒有做不到的只有想不到的這和愛情就有點不同了因為愛情的世界是兩個人的世界一廂情願不叫愛情(補充那叫單戀廢話!)而批處理卻是一個人的天堂你可以為所欲為沒有達不到的境界!
批處理看起來雜亂無章但它的邏輯性之強絕對不比其他程序語言(如匯編)低如果你寫的腳本是一堆亂麻雖然每一行命令都正確但從頭執行到尾後不一定得到你想要的結果也許是一屏幕的Bad coMMand or fail name這又和愛情有了共同點按步驟來經營缺少或增多的步驟都可能導致不想看見的結果陷入愛河的朋友相信沒有不肯定這句話的我的愛情批處理輸出的結果不是Bad command or fail name屏幕是這麼顯示的你的愛情不是內部或外部命令也不是可運行的程序或批處理文件然後就是光標不停閃動等待這下一次錯誤的輸入
From:http://tw.wingwit.com/Article/Common/201311/5050.html