批處理的介紹_第1頁
批處理的介紹_第2頁
批處理的介紹_第3頁
批處理的介紹_第4頁
批處理的介紹_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、批處理的介紹批處理的介紹擴(kuò)展名是 bat(在nt/2000/xp/2003下也可以是 cmd)的文件就是批處理文件。首先批處理文件是一個文本文件,這個文件的每 一行都是一條DOS命令(大部分時候就好象我 們在DOS提示符下執(zhí)行的命令行一樣),你可以 使用 DOS下的Edit或者Windows的記事本 (n otepad)等任何文本文件編輯工具創(chuàng)建和修改 批處理文件。其次,批處理文件是一種簡單的程序,可以通過條件語句(if)和流程控制語句(goto)來控制命令 運行的流程,在批處理中也可以使用循環(huán)語句 (for)來循環(huán)執(zhí)行一條命令。當(dāng)然,批處理文件的 編程能力與C語言等編程語句比起來是十分有 限

2、的,也是十分不規(guī)范的。批處理的程序語句就 是一條條的DOS命令(包括內(nèi)部命令和外部命 令),而批處理的能力主要取決于你所使用的命 令。第三,每個編寫好的批處理文件都相當(dāng)于一個 DOS的外部命令,你可以把它所在的目錄放到 你的DOS搜索路徑(path)中來使得它可以在任 意位置運行。一個良好的習(xí)慣是在硬盤上建立一 個bat或者batch目錄(例如 C:BATCH),然 后將所有你編寫的批處理文件放到該目錄中,這樣只要在path中設(shè)置上c:batch,你就可以在任 意位置運行所有你編寫的批處理程序。第四,在DOS和Win9x/Me系統(tǒng)下,C:盤根目 錄下的AUTOEXEC.BAT 批處理文件是自動

3、運 行批處理文件,每次系統(tǒng)啟動時會自動運行該文 件,你可以將系統(tǒng)每次啟動時都要運行的命令放 入該文件中,例如設(shè)置搜索路徑,調(diào)入鼠標(biāo)驅(qū)動 和磁盤緩存,設(shè)置系統(tǒng)環(huán)境變量等。下面是一個 運行于 Windows 98下的autoexec.bat的示例: ECHO OFFPATHC:WINDOWS;C:WINDOWSCOMMAND;C:UCDOS;C:DOSTools;C:S YSTOOLS;C:WIN TOOLS;C:BATCHLH SMARTDRV .EXE /XLH DOSKE Y.COM /INSERTLH CTMOUSE.EXESET TEMP=D:TEMPSET TMP=D:TEMP批處理的

4、作用簡單的說,批處理的作用就是自動的連續(xù)執(zhí)行多 條命令。這里先講一個最簡單的應(yīng)用:在啟動 wps軟件 時,每次都必須執(zhí)行( 前面內(nèi)容表示DOS提示 符):C:cd wpsC:WPSspdosC:WPSpyC:WPSwbxC:WPSwps如果每次用WPS之前都這樣執(zhí)行一遍,您是不是覺得很麻煩呢?好了,用批處理,就可以實現(xiàn)將這些麻煩的操作 簡單化,首先我們編寫一個 runwps.bat批處理 文件,內(nèi)容如下:echo offc: cdwps spdospywbx wps cd以后,我們每次進(jìn)入 wps,只需要運行runwps 這個批處理文件即可。常用命令echo、call、pause、rem(小技

5、巧:用:代替 rem)是批處理文件最常用的幾個命令,我們就從 他們開始學(xué)起。echo表示顯示此命令后的字符echo off表示在此語句后所有運行的命令都不顯示命令行本身與 echo off相象,但它是加在每個命令行的最前面,表示運行時不顯示這一行的命令行(只能影響當(dāng)前行)。call調(diào)用另一個批處理文件(如果不用call而直 接調(diào)用別的批處理文件,那么執(zhí)行完那個批處理 文件后將無法返回當(dāng)前文件并執(zhí)行當(dāng)前文件的 后續(xù)命令)。pause運行此句會暫停批處理的執(zhí)行并在屏幕 上顯示 Press any key to continue.的提示,等待 用戶按任意鍵后繼續(xù)rem表示此命令后的字符為解釋行(注釋

6、),不 執(zhí)行,只是給自己今后參考用的(相當(dāng)于程序中 的注釋)。例1:用edit編輯a.bat文件,輸入下列內(nèi)容后 存盤為c:a.bat,執(zhí)行該批處理文件后可實現(xiàn): 將根目錄中所有文件寫入a.txt中,啟動UCDOS,進(jìn)入 WPS等功能。批處理文件的內(nèi)容為:命令注釋:echo off不顯示后續(xù)命令仃及當(dāng)前命令仃dir c:*.* a.txt將c盤文件列表寫入a.txtcall c:ucdosucdos.bat調(diào)用ucdosecho你好顯示你好pause暫停,等待按鍵繼續(xù)rem 準(zhǔn) 備運行 wps注釋:準(zhǔn)備運行wpscd ucdos進(jìn)入ucdos目錄wps運行wps批處理文件的參數(shù)批處理文件還可以

7、像 C語言的函數(shù)一樣使用參 數(shù)(相當(dāng)于DOS命令的命令行參數(shù)),這需要用 到一個參數(shù)表示符“ % ”。%1-9表示參數(shù),參數(shù)是指在運行批處理文件時 在文件名后加的以空格(或者 Tab)分隔的字符 串。變量可以從%0到%9,%0表示批處理命令 本身,其它參數(shù)字符串用%1到%9順序表示。例2: C:根目錄下有一批處理文件名為f.bat,內(nèi) 容為:echo offformat %1如果執(zhí)行C:f a:那么在執(zhí)行 f.bat時,%1就表示a:,這樣format %1就相當(dāng)于format a:,于是上面的命令運行時實際執(zhí)行的是format a:例3: C:根目錄下一批處理文件名為t.bat,內(nèi)容 為:e

8、cho offtype %1type %2那么運行 C:t a.txt b.txt%1 :表示 a.txt%2 :表示 b.txt于是上面的命令將順序地顯示a.txt和b.txt文件的內(nèi)容。特殊命令if goto choice for是批處理文件中比較高級的命 令,如果這幾個你用得很熟練,你就是批處理文 件的專家啦。一、if是條件語句,用來判斷是否符合規(guī)定的條 件,從而決定執(zhí)行不同的命令。 有三種格式:1、if not參數(shù)=字符串待執(zhí)行的命令 參數(shù)如果等于(not表示不等,下同)指定的字符 串,則條件成立,運行命令,否則運行下一句。例:if %l=a format a:2、if not exi

9、st 路徑文件名 待執(zhí)行的命令 如果有指定的文件,則條件成立,運行命令,否 則運行下一句。女口: if exist c:c on fig.sys type c:c on fig.sys表示如果存在c:config.sys文件,則顯示它的內(nèi) 容。3、if errorlevel 待執(zhí)行的命令很多DOS程序在運行結(jié)束后會返回一個數(shù)字值 用來表示程序運行的結(jié)果(或者狀態(tài)),通過if errorlevel命令可以判斷程序的返回值,根據(jù)不 同的返回值來決定執(zhí)行不同的命令(返回值必須按照從大到小的順序排列)。如果返回值等于指 定的數(shù)字,則條件成立,運行命令,否則運行下 一句。如 if errorlevel

10、2 goto x2二、goto批處理文件運行到這里將跳到 goto所 指定的標(biāo)號(標(biāo)號即label,標(biāo)號用:后跟標(biāo)準(zhǔn)字符 串來定義)處,goto語句一般與if配合使用,根 據(jù)不同的條件來執(zhí)行不同的命令組。goto end:endecho this is the end標(biāo)號用“:字符串”來定義,標(biāo)號所在行不被執(zhí) 行。三、choice使用此命令可以讓用戶輸入一個字符 (用于選擇),從而根據(jù)用戶的選擇返回不同的 errorlevel,然后于if errorlevel配合,根據(jù)用戶的選擇運行不同的命令注意:choice命令為DOS或者Windows系統(tǒng)提 供的外部命令,不同版本的choice命令語法會

11、稍 有不同,請用choice /?查看用法。choice的命令語法(該語法為 Windows 2003中 choice命令的語法,其它版本的choice的命令語 法與此大同小異):CHOICE /C choices /N /CS /T timeout /D choice /M text描述:該工具允許用戶從選擇列表選擇一個項目并返 回所選項目的索引參數(shù)列表:/C choices指定要創(chuàng)建的選項列表。默認(rèn)列表是YN。/N在提示符中隱藏選項列表。提示前面的消息得到顯示,選項依舊處于啟用狀態(tài)。/CS允許選擇分大小寫的選項。在默認(rèn)情況下,這個工具是不分大小寫的/T timeout做出默認(rèn)選擇之前,暫停

12、的秒數(shù)。可接受的值是從 0到9999。如果指定了 0,就不會有暫停,默認(rèn)選項 會得到選擇。/D choice 在nnnn秒之后指定默認(rèn)選項。 字符必須在用/C選項指定的一組選擇中;同時,必須用/T扌旨定 nnnn。/M text指定提示之前要顯示的消息。如果沒有指定,工具只顯示提示。/?顯示幫助消息注意:ERRORLEVEL 環(huán)境變量被設(shè)置為從選擇集選 擇的鍵索引。列出的第一個選擇返回1,第二個選擇返回2,等等。如果用戶 按的鍵不是有效的選擇,該工具會發(fā)出警告響聲。如果該工具檢測到錯誤 狀態(tài),它會返回255的ERRORLEVEL 值。如果用戶按Ctrl+Break或Ctrl+C 鍵,該工具會返

13、回0的ERRORLEVEL 值。在一個批程序中使用ERRORLEVEL 參數(shù)時,將參數(shù)降序排列。示例:CHOICE /?CHOICE /C YNC /M 確認(rèn)請按 Y,否請按 N,或者取消請按C。CHOICE /T 10 /C ync ICS /D yCHOICE IC ab IM 選項1請選擇 a,選項 2 請選擇b。CHOICE IC ab IN IM 選項1請選擇 a,選項 2請選擇b。如果我運行命令:CHOICE IC YNC IM 確認(rèn)請按Y,否請按N,或者取消請按C。 屏幕上會顯示:確認(rèn)請按 Y,否請按 N,或者取消請按C。Y,N,C?例:test.bat的內(nèi)容如下(注意,用 if

14、 errorlevel 判斷返回值時,要按返回值從高到低排列): echo offchoice IC dme IM defrag,mem,e ndif errorlevel 3 goto endif errorlevel 2 goto memif errotlevel 1 goto defrag:defrag c:dosdefrag goto end:memmemgoto end:endecho good bye此批處理運行后,將顯“defrag,mem,endD,M,E? ” ,用戶可選擇 e,然后if語句根據(jù)用戶的選擇作出判斷,示執(zhí)行標(biāo)號為defrag的程序段,m表示執(zhí)行標(biāo) 號為mem的程

15、序段,e表示執(zhí)行標(biāo)號為end的 程序段,每個程序段最后都以goto end將程序跳 到end標(biāo)號處,然后程序?qū)@示good bye,批處 理運行結(jié)束。四、for循環(huán)命令,只要條件符合,它將多次執(zhí) 行同一命令。語法:對一組文件中的每一個文件執(zhí)行某個特定命令FOR %variable IN (set) DO comma ndcomma nd-parameters%variable 指定一個單一字母可替換的參數(shù)。 (set) 指定一個或一組文件??梢允褂猛ㄅ浞?comma nd 指定對每個文件執(zhí)行的命令。comma nd-parameters為特定命令指定參數(shù)或命令行開關(guān)。例如一個批處理文件中有一行

16、:for %c in (*.bat *.txt) do type %c則該命令行會顯示當(dāng)前目錄下所有以bat和txt為擴(kuò)展名的文件的內(nèi)容。批處理示例1. IF-EXIST1)首先用記事本在建立一個test1.bat批處理文件,文件內(nèi)容如下:echo offIF EXIST AUTOEXEC.BAT TYPE AUTOEXEC.BATIF NOT EXIST AUTOEXEC.BAT ECHO AUTOEXEC.BAT does n ot exist然后運行它:C:TEST1.BAT 如果 存在AUTOEXEC.BAT 文件,那么它的 內(nèi)容就會被顯示出來,如果不存在,批處理就會 提示你該文件不存

17、在。2)接著再建立一個test2.bat文件,內(nèi)容如下:ECHO OFFIF EXIST %1 TYPE %1IF NOT EXIST %1 ECHO %1 does not exist執(zhí)行:C:TEST2 AUTOEXEC.BAT該命令運行結(jié)果同上說明:(1) IF EXIST是用來測試文件是否存在的,格式 為IF EXIST 路徑+文件名命令(2) test2.bat文件中的%1是參數(shù),DOS允許傳遞9個批參數(shù)信息給批處理文件,分別 為1%9(%0表示test2命令本身),這有點象 編程中的實參和形參的關(guān)系,%1是形參,AUTOEXEC.BAT 是實參。3)更進(jìn)一步的,建立一個名為TEST

18、3.BAT的文 件,內(nèi)容如下:echo offIF %1 = A ECHO XIAOIF %2 = B ECHO TIANIF %3 = C ECHO XIN如果運行:C:TEST3 A B C屏幕上會顯示:XIAOTIANXIN如果運行:C:TEST3 A B屏幕上會顯示XIAOTIAN在這個命令執(zhí)行過程中,DOS會將一個空字符 串指定給參數(shù)%3。2、IF-ERRORLEVEL建立TEST4.BAT,內(nèi)容如下:ECHO OFFXCOP YC:AUTOEXEC.BATD:IFERRORLEVEL 1 ECHO 文件拷貝失敗IF ERRORLEVEL 0 ECHO 成功拷貝文件然后執(zhí)行文件:C:

19、TEST4如果文件拷貝成功,屏幕就會顯示“成功拷貝文 件”,否則就會顯示“文件拷貝失敗”。IF ERRORLEVEL 是用來測試它的上一個DOS命令的返回值的,注意只是上一個命令的 返回值,而且返回值必須依照從大到小次序順序 判斷。因此下面的批處理文件是錯誤的:ECHO OFFXCOP Y C:AUTOEXEC.BAT D:IF ERRORLEVEL 0 ECHO 成功拷貝文件IF ERRORLEVEL 1 ECHO 未找到拷貝文件IF ERRORLEVEL 2 ECHO 用戶通過 ctrl-c 中 止拷貝操作IF ERRORLEVEL 3 ECHO預(yù)置錯誤阻止文件拷貝操作IF ERRORLE

20、VEL 4 ECHO拷貝過程中寫盤錯誤無論拷貝是否成功,后面的: 未找到拷貝文件用戶通過ctrl-c中止拷貝操作 預(yù)置錯誤阻止文件拷貝操作 拷貝過程中寫盤錯誤都將顯示出來以下就是幾個常用命令的返回值及其代表的意義:backup0備份成功1未找到備份文件2文件共享沖突阻止備份完成3用戶用ctrl-c中止備份4由于致命的錯誤使備份操作中止diskcomp0盤比較相同1盤比較不同2用戶通過ctrl-c中止比較操作3由于致命的錯誤使比較操作中止4預(yù)置錯誤中止比較 diskcopy0盤拷貝操作成功1非致命盤讀/寫錯2用戶通過ctrl-c結(jié)束拷貝操作3因致命的處理錯誤使盤拷貝中止4預(yù)置錯誤阻止拷貝操作 forma

溫馨提示

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

評論

0/150

提交評論