***從批處理入手

本人對批處理理解:其實逐漸變黑的菜鳥教程中也講到過批處理,批處理是就是把一些cmd裏的命令作的一塊兒,方便了cmd裏命令的執行我就是從下面這個文章學的基本批處理呀,很是好的文章這是一篇技術教程,真心誠意會用很簡單的文字表達清楚本身的意思,只要你識字就能看懂,就能學到知識。寫這篇教程的目的,是讓每個看過這些文字的朋友記住一句話:若是愛可讓事情變的更簡單,那麼就讓它簡單吧!看這篇教程的方法,就是慢!慢慢的,如同品一個女人、一杯茗茶,你會發現不少之前就在眼前的東西忽然變的很遙遠,而有些很遙遠的東西卻又忽然回到了眼前。..先概述一下批處理是個什麼東東。批處理的定義,至今我也沒能給出一個合適的----衆多高手們也都沒給出----反正我不知道---看了我也不必定信服----我是個菜鳥,固然就更不用說了;但我想總結出一個「比較合適的」,並且我也相信本身能夠把它解釋的很清楚,讓更多的菜鳥都知道這是個什麼東東,你用這個東東能夠幹什麼事情。或許你會由於這篇文章而「無條件愛上批處理」,那麼個人目的就達到了----我就是要讓你愛上它,我就這麼拽,你能怎麼着??真的,愛有時候就這麼拽,就是這麼沒理由,就是這麼不要臉!真的!按照個人理解,批處理的本質,是一堆DOS命令按必定順序排列而造成的集合。OK,never claver and get to business(閒話少說言歸正傳)。批處理,也稱爲批處理腳本,英文譯爲BATCH,批處理文件後綴BAT就取的前三個字母。它的構成沒有固定格式,只要遵照如下這條就ok了:每一行可視爲一個命令,每一個命令裏能夠含多條子命令,從第一行開始執行,直到最後一行結束,它運行的平臺是DOS。批處理有一個很鮮明的特色:使用方便、靈活,功能強大,自動化程度高。我不想讓本身寫的教程枯燥無味,由於牽纏到代碼(批處理的內容算是代碼吧?)的問題原本就是枯燥的,不多有人能面對滿屏幕的代碼而靜下心來。因此我會用不少簡單實用的例子讓讀這篇教程的朋友去體會批處理的那四射的魅力,感覺它那古靈精怪的性格,不知不覺中愛上批處理(暈,怎麼又是愛?到底批處理和愛有什麼關係?答案:沒有!)。再說句「閒話」:要學好批處理,DOS基礎必定要牢!固然腦子靈活也是很重要的一方面。例1、先給出一個最easy的批處理腳本讓你們和它混個臉熟,將下面的幾行命令保存爲name.bat而後執行(之後文中只給出代碼,保存和執行方式相似):ping sz.tencent.com > a.txtping sz1.tencent.com >> a.txtping sz2.tencent.com >> a.txtping sz3.tencent.com >> a.txtping sz4.tencent.com >> a.txtping sz5.tencent.com >> a.txtping sz6.tencent.com >> a.txtping sz7.tencent.com >> a.txtexit是否是都能看的懂?是否是很easy?但它的做用倒是很實用的,執行這個批處理後,能夠在你的當前盤創建一個名爲a.txt的文件,它裏面記錄的信息能夠幫助你迅速找到速度最快的QQ服務器,從而遠離「從服務器中轉」那一痛苦的過程。這裏>的意思,是把前面命令獲得的東西放到後面所給的地方,>>的做用,和>的相同,區別是把結果追加到前一行得出的結果的後面,具體的說是下一行,而前面一行命令得出的結果將保留,這樣可使這個a.txt文件愈來愈大(想到如何搞破壞了??)。By the way,這個批處理還能夠和其餘命令結合,搞成徹底自動化判斷服務器速度的東東,執行後直接顯示速度最快的服務器IP,是否是很爽?後面還將詳細介紹。例2、再給出一個已通過時的例子(a.bat):@echo offif exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gifa.bat爲何說這是個過期的例子呢?很簡單,由於如今已經幾乎沒有人用帶廣告的QQ了(KAO,個人QQ還顯示好友三圍呢!!),因此它幾乎用不上了。但曾經它的做用是不可小窺的:刪除QQ的廣告,讓對話框乾乾淨淨。這裏用的地址是QQ的默認安裝地址,默認批處理文件名爲a.bat,你固然能夠根據狀況自行修改。在這個腳本中使用了if命令,使得它能夠達到適時判斷和刪除廣告圖片的效果,你只須要不關閉命令執行後的DOS窗口,不按CTRL+C強行終止命令,它就一直監視是否有廣告圖片(QQ也再不斷查看本身的廣告是否被刪除)。固然這個腳本佔用你一點點內存,呵呵學會批處理!真心想學很容易!例三,使用批處理腳本查是否中冰河。腳本內容以下:@echo offnetstat -a -n > a.txttype a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!"del a.txt pause & exit這裏利用了netstat命令,檢查全部的網絡端口狀態,只須要你清楚常見***所使用的端口,就能很easy的判斷出來是否被人種了冰河。然這不是肯定的,由於冰河默認的端口7626,徹底能夠被人修改。這裏介紹的只是方法和思路。這裏介紹的是方法和思路稍作改動,就變成能夠檢查其餘***的腳本了,再改動一下,加進去參數和端口及信息列表文件後,就變成自動檢測全部***的腳本了。呵呵,是否是很過癮?腳本中還利用了組合命令&&和管道命令|,後面將詳細介紹。例四,借批處理自動清除系統垃圾,腳本以下:@echo offif exist c:\windows\temp\*.* del c:\windows\temp\*.* if exist c:\windows\Tempor~1\*.* del c:\windows\Tempor~1\*.* if exist c:\windows\History\*.* del c:\windows\History\*.* if exist c:\windows\recent\*.* del c:\windows\recent\*.* 將以上腳本內容保存到autoexec.bat裏,每次開機時就把系統垃圾給自動刪除了。這裏須要注意兩點:1、DOS不支持長文件名,因此就出現了Tempor~1這個東東;2、可根據本身的實際狀況進行改動,使其符合本身的要求。怎麼樣,看到這裏,你對批處理腳本是否是已經有點興趣了?是否是發現本身已經慢慢愛上了這個東東?別高興的太早,愛不是一件簡單的事,它也許能帶給你快樂和幸福,固然也能讓你痛苦的想去跳樓。若是你知道很難還敢繼續的話,I 服了 YOU!繼續努力吧,也許到最後你不必定獲得真愛(真的有這可能,愛過的人都知道),但你能夠體會到整個愛的過程,就是如此。 酸、苦和辣,有沒有甜天知道。爲何會把批處理和愛情扯上關係?不是我無聊,也不是由於這樣寫有趣多少,緣由有二:其一,批處理和愛情有不少相同的地方,有些地方我用「專業」的行話解釋不清(我不懷疑本身的表達能力,而是事情自己就很差說清楚),說了=沒說,但用地球人都知道的愛情一比喻(愛情是什麼?我**怎麼知道!!),沒準你內心一下就亮堂了,事半功倍,何樂而不爲?其二,我這段時間狀態不是很好,感冒發燒頭疼鼻塞,但主要仍是感情上精神摧殘,搞的人煩透了,借寫教程之際感慨幾句,你們就全當買狗皮膏藥了,徹底能夠省略不看(也許還真有點效果----不至於讓你看着看着就睡着了,把頭磕了來找我報銷醫藥費)。說不定下次的教程中你們還會看到楊過、張無忌等金老前輩筆下的英雄們。看過第一章的朋友,必定對批處理有了初步的印象,知道它究竟是用來幹什麼的了。但你知道運用批處理的精髓在哪裏嗎?其實很簡單:思路要靈活!沒有作不到的,只有想不到的。這和愛情就有點不一樣了,由於愛情的世界是兩我的的世界,一廂情願不叫愛情(補充:那叫單戀。廢話!)而批處理倒是一我的的天堂,你能夠隨心所欲,沒有達不到的境界!批處理看起來雜亂無章,但它的邏輯性之強,絕對不比其餘程序語言(如彙編)低,若是你寫的腳本是一堆亂麻,雖然每一行命令都正確,但從頭執行到尾後,不必定獲得你想要的結果,也許是一屏幕的Bad command or fail name。這又和愛情有了共同點:按步驟來經營,缺乏或增多的步驟均可能致使不想看見的結果。陷入愛河的朋友,相信沒有不願定這句話的。個人愛情批處理,輸出的結果不是Bad command or fail name,屏幕是這麼顯示的:‘你的愛情’不是內部或外部命令,也不是可運行的程序或批處理文件。而後就是光標不停閃動,等待這下一次錯誤的輸入。從這一章開始,將由淺入深的介紹批處理中經常使用的命令,不少常見DOS命令在批處理腳本中有這普遍的應用,它們是批處理腳本的BODY部分,但批處理比DOS更靈活多樣,更具有自動化。要學好批處理,DOS必定要有比較紮實的基礎。這裏只講述一些比較少用(相對來講)的DOS命令,經常使用命令如COPY、DIR等就不作介紹了(這些看似簡單的命令實際複雜的很,我怕本身都說不清楚!)。例五,先看一個實例。這是一個頗有意思的腳本,一個小巧實用的好東東,把批處理「自動化」的特色體現的淋漓盡致。先介紹一下這個腳本的來歷:你們都知道彙編程序(MASM)的上機過程,先要對源代碼進行彙編、鏈接,而後再執行,而這中間有不少環節須要輸入不少東西,麻煩的很(只有經歷過的朋友才懂得)。如何使這個過程變的簡單呢?在咱們搞彙編課程設計時,我「被逼」寫了這個腳本,用起來很爽,呵呵。看看腳本內容:@echo off ::close echocls::clean screen echo This programme is to make the MASM programme automate ::display infoecho Edit by CODERED ::display infoecho Mailto me : qqkiller***@sina.com ::display infoif "%1"=="" goto usage ::if input without paramater goto usageif "%1"=="/?" goto usage ::if paramater is "/?" goto usageif "%1"=="help" goto usage ::if paramater is "help" goto usage pause ::pause to see usagemasm %1.asm ::assemble the .asm codeif errorlevel 1 pause & edit %1.asm ::if error pause to see error msg and edit the codelink %1.obj & %1 ::else link the .obj file and execute the .exe file:usage ::set usageecho Usage: This BAT file name [asm file name] echo Default BAT file name is START.BAT ::display usage先不要被這一堆的東西給嚇怕了,靜下心來仔細的看(回想一下第一章中第一段是怎麼寫的!!)。已經給出了每一行命令的解釋,兩個冒號後面的內容爲前一行內容解釋的E文(懼怕E文的朋友也不用擔憂,都很easy,一看就懂了,實在不懂了不會查詞典啊,這麼懶?),在腳本執行時不顯示,也不起任何做用。倒數第5行行首有一個冒號,可不是筆誤哦!具體做用後面會詳細講到。此腳本中masm和link是彙編程序和鏈接程序,必須和edit程序以及你要編輯的源代碼(固然還有這個腳本,廢話!)一塊兒在當前目錄中。使用這個批處理腳本,能夠最大可能的減小手工輸入,整個過程當中只須要按幾下回車鍵,便可實現從彙編源代碼到可執行exe文件的自動化轉換,並具有智能判斷功能:若是彙編時源代碼出現錯誤(彙編不成功),則自動暫停顯示錯誤信息,並在按任意鍵後自動進入編輯源代碼界面;若是源代碼彙編成功,則進行鏈接,並在鏈接後自動執行生成的exe文件。另外,因爲批處理命令的簡單性和靈活性,這個腳本還具有良好的可改進性,簡單進行修改就能夠符合不一樣朋友的上機習慣。正在學彙編的朋友,必定別忘了實習一下
相關文章
相關標籤/搜索