批處理基本代碼介紹_第1頁(yè)
批處理基本代碼介紹_第2頁(yè)
批處理基本代碼介紹_第3頁(yè)
批處理基本代碼介紹_第4頁(yè)
批處理基本代碼介紹_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

批處理的介紹擴(kuò)展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批處理文件。首先批處理文件是一個(gè)文本文件,這個(gè)文件的每一行都是一條DOS命令(大部分時(shí)候就好象我們?cè)贒OS提示符下執(zhí)行的命令行一樣),你可以使用DOS下的Edit或者Windows的記事本(notepad)等任何文本文件編輯工具創(chuàng)建和修改批處理文件。其次,批處理文件是一種簡(jiǎn)單的程序,可以通過條件語句(if)和流程控制語句(goto)來控制命令運(yùn)行的流程,在批處理中也可以使用循環(huán)語甸for)來循環(huán)執(zhí)行一條命令。當(dāng)然,批處理文件的編程能力與C語言等編程語句比起來是十分有限的,也是十分不規(guī)范的。批處理的程序語句就是一條條的DOS命令(包括內(nèi)部命令和外部命令),而批處理的能力主要取決于你所使用的命令。第三,每個(gè)編寫好的批處理文件都相當(dāng)于一個(gè)DOS的外部命令,你可以把它所在的目錄放到你的DOS搜索路徑(path)中來使得它可以在任意位置運(yùn)行。一個(gè)良好的習(xí)慣是在硬盤上建立一個(gè)bat或者batch目錄(例如C:\BATCH),然后將所有你編寫的批處理文件放到該目錄中,這樣只要在path中設(shè)置上c:\batch,你就可以在任意位置運(yùn)行所有你編寫的批處理程序。第四,在DOS和W.x/Me系統(tǒng)下,C:盤根目錄下的AUTOEXEC.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)和磁盤緩存,設(shè)置系統(tǒng)環(huán)境變量等。下面是一個(gè)運(yùn)行于Windows98下的autoexec.bat的示例:@ECHOOFFPATHC:\WINDOWS;C:\WINDOWS\COMMAND;C:\UCDOS;C:\DOSTools;C:\SYSTOOLS;C:\WINTOOLS;C:\BATCHLHSMARTDRV/XLHDOSKEY.COM/INSERTLHCTMOUSESETTEMP=D:\TEMPSETTMP=D:\TEMP批處理的作用簡(jiǎn)單的說,批處理的作用就是自動(dòng)的連續(xù)執(zhí)行多條命令。這里先講一個(gè)最簡(jiǎn)單的應(yīng)用:在啟動(dòng)wps軟件時(shí),每次都必須執(zhí)行(>前面內(nèi)容表示DOS提示符):C:\>cdwpsC:\WPS>spdosC:\WPS>pyC:\WPS>wbxC:\WPS>wps如果每次用WPS之前都這樣執(zhí)行一遍,您是不是覺得很麻煩呢?好了,用批處理,就可以實(shí)現(xiàn)將這些麻煩的操作簡(jiǎn)單化,首先我們編寫一個(gè)runwps.bat批處理文件,內(nèi)容如下:@echooffc:cd\wpsspdospywbxwpscd以后,我們每次進(jìn)入wps,只需要運(yùn)行runwps這個(gè)批處理文件即可。常用命令echo、@、call、pause、rem(小技巧:用::代替rem)是批處理文件最常用的幾個(gè)命令,我們就從他們開始學(xué)起。echo表示顯示此命令后的字符echooff表示在此語句后所有運(yùn)行的命令都不顯示命令行本身@與echooff相象,但它是加在每個(gè)命令行的最前面,表示運(yùn)行時(shí)不顯示這一行的命令行(只能影響當(dāng)前行)。call調(diào)用另一個(gè)批處理文件(如果不用call而直接調(diào)用別的批處理文件,那么執(zhí)行完那個(gè)批處理文件后將無法返回當(dāng)前文件并執(zhí)行當(dāng)前文件的后續(xù)命令)。pause運(yùn)行此句會(huì)暫停批處理的執(zhí)行并在屏幕上顯示Pressanykeytocontinue..的提示,等待用戶按任意鍵后繼續(xù)rem表示此命令后的字符為解釋行(注釋),不執(zhí)行,只是給自己今后參考用的(相當(dāng)于程序中的注釋)。例1用edit編輯a.bat文件,輸入下列內(nèi)容后存盤為c:\a.bat,執(zhí)行該批處理文件后可實(shí)現(xiàn):將根目錄中所有文件寫入a.txt中,啟動(dòng)UCDOS,進(jìn)入WPS等功能。批處理文件的內(nèi)容為:命令注釋:@echooffdirc:\*.*>a.txtcallc:\ucdos\ucdos.batecho你好pauserem準(zhǔn)備運(yùn)行wpscducdoswps不顯示后續(xù)命令行及當(dāng)前命令行將c盤文件列表與入a.txt調(diào)用ucdos顯示"你好"暫停,等待按鍵繼續(xù)注釋:準(zhǔn)備運(yùn)行wps進(jìn)入ucdos目錄運(yùn)行wps批處理文件的參數(shù)批處理文件還可以像C語言的函數(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)容為:@echooffformat%1如果執(zhí)行C:\>fa:那么在執(zhí)行f.bat時(shí),%1就表示a:,這樣format%1就相當(dāng)于formata:,于是上面的命令運(yùn)行時(shí)實(shí)際執(zhí)行的是formata:例3:C:根目錄下一批處理文件名為t.bat,內(nèi)容為:@echoofftype%1type%2那么運(yùn)行C:\>ta.txtb.txt%1:表示a.txt%2:表示b.txt于是上面的命令將順序地顯示a.txt和b.txt文件的內(nèi)容。特殊命令ifgotochoicefor是批處理文件中比較高級(jí)的命令,如果這幾個(gè)你用得很熟練,你就是批處理文件的專家啦。一、if是條件語句,用來判斷是否符合規(guī)定的條件,從而決定執(zhí)行不同的命令。有三種格式:1、if[not]"參數(shù)"=="字符串"待執(zhí)行的命令參數(shù)如果等于(not表示不等,下同)指定的字符串,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。例:if"%1"=="a"formata:2、 if[not]exist[路徑\]文件名待執(zhí)行的命令如果有指定的文件,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。如:ifexistc:\config.systypec:\config.sys表示如果存在c:\config.sys文件,則顯示它的內(nèi)容。3、 iferrorlevel<數(shù)字>待執(zhí)行的命令很多DOS程序在運(yùn)行結(jié)束后會(huì)返回一個(gè)數(shù)字值用來表示程序運(yùn)行的結(jié)果(或者狀態(tài)),通過iferrorlevel命令可以判斷程序的返回值,根據(jù)不同的返回值來決定執(zhí)行不同的命令(返回值必須按照從大到小的順序排列)。如果返回值等于指定的數(shù)字,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。如iferrorlevel2gotox2二、goto批處理文件運(yùn)行到這里將跳到goto所指定的標(biāo)號(hào)(標(biāo)號(hào)即label,標(biāo)號(hào)用:后跟標(biāo)準(zhǔn)字符串來定義)處,goto語句一般與if配合使用,根據(jù)不同的條件來執(zhí)行不同的命令組。如:gotoend:endechothisistheend標(biāo)號(hào)用“:字符串”來定義,標(biāo)號(hào)所在行不被執(zhí)行。三、choice使用此命令可以讓用戶輸入一個(gè)字符(用于選擇),從而根據(jù)用戶的選擇返回不同的errorlevel,然后于iferrorlevel配合,根據(jù)用戶的選擇運(yùn)行不同的命令。注意:choice命令為DOS或者Windows系統(tǒng)提供的外部命令,不同版本的choice命令語法會(huì)稍有不同,請(qǐng)用choice/?查看用法。choice的命令語法(該語法為Windows2003中choice命令的語法,其它版本的choice的命令語法與此大同小異):CHOICE[/Cchoices][/N][/CS][/Ttimeout/Dchoice][/Mtext]描述:該工具允許用戶從選擇列表選擇一個(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àng)。在默認(rèn)情況下,這個(gè)工具是不分大小寫的。/Ttimeout做出默認(rèn)選擇之前,暫停的秒數(shù)??山邮艿闹凳菑?到.9。如果指定了0,就不會(huì)有暫停,默認(rèn)選項(xiàng)會(huì)得到選擇。/Dchoice在nnnn秒之后指定默認(rèn)選項(xiàng)。字符必須在用/C選項(xiàng)指定的一組選擇中;同時(shí),必須用/T指定nnnn。/Mtext指定提示之前要顯示的消息。如果沒有指定,工具只顯示提示。/?顯示幫助消息。、,亠-^7-.汪思:ERRORLEVEL環(huán)境變量被設(shè)置為從選擇集選擇的鍵索引。列出的第一個(gè)選擇返回第二個(gè)選擇返回2,等等。如果用戶按的鍵不是有效的選擇,該工具會(huì)發(fā)出警告響聲。如果該工具檢測(cè)到錯(cuò)誤狀態(tài),它會(huì)返回255的ERRORLEVEL值。如果用戶按Ctrl+Break或Ctrl+C鍵,該工具會(huì)返回0的ERRORLEVEL值。在一個(gè)批程序中使用ERRORLEVEL參數(shù)時(shí),將參數(shù)降序排列。四、for循環(huán)命令,只要條件符合,它將多次執(zhí)行同一命令。語法:對(duì)一組文件中的每一個(gè)文件執(zhí)行某個(gè)特定命令。FOR%%variableIN(set)DOcommand[command-parameters]%%variable指定一個(gè)單一字母可替換的參數(shù)。(set)指定一個(gè)或一組文件??梢允褂猛ㄅ浞ommand指定對(duì)每個(gè)文件執(zhí)行的命令。command-parameters為特定命令指定參數(shù)或命令行開關(guān)。例如一個(gè)批處理文件中有一行:for%%cin(*.bat*.txt)dotype%%c則該命令行會(huì)顯示當(dāng)前目錄下所有以bat和txt為擴(kuò)展名的文件的內(nèi)容。批處理示例IF-EXIST1)首先用記事本在C:\建立一個(gè)test1.bat批處理文件,文件內(nèi)容如下:@echooffIFEXIST\AUTOEXEC.BATTYPE\AUTOEXEC.BATIFNOTEXIST\AUTOEXEC.BATECHO\AUTOEXEC.BATdoesnotexist然后運(yùn)行它:C:\>TEST1.BAT如果C:\存在AUTOEXEC.BAT文件,那么它的內(nèi)容就會(huì)被顯示出來,如果不存在,批處理就會(huì)提示你該文件不存在。2)接著再建立一個(gè)test2.bat文件,內(nèi)容如下:@ECHOOFFIFEXIST\%1TYPE\%1IFNOTEXIST\%1ECHO\%1doesnotexist執(zhí)行:C:\>TEST2AUTOEXEC.BAT該命令運(yùn)行結(jié)果同上。說明:(1)IFEXIST是用來測(cè)試文件是否存在的,格式為IFEXIST[路徑+文件名]命令⑵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è)名為TEST3.BAT的文件,內(nèi)容如下:@echooffIF"%1"=="A"ECHOXIAOIF"%2"=="B"ECHOTIANIF"%3"=="C"ECHOXIN如果運(yùn)行:C:\>TEST3ABC屏幕上會(huì)顯示:XIAOTIANXIN如果運(yùn)行:C:\>TEST3AB屏幕上會(huì)顯示XIAOTIAN在這個(gè)命令執(zhí)行過程中,DOS會(huì)將一個(gè)空字符串指定給參數(shù)%3。2、IF-ERRORLEVEL建立TEST4.BAT,內(nèi)容如下:@ECHOOFFXCOPYC:\AUTOEXEC.BATD:IFERRORLEVEL1ECHO文件拷貝失敗IFERRORLEVEL0ECHO成功拷貝文件然后執(zhí)行文件:C:\>TEST4如果文件拷貝成功,屏幕就會(huì)顯示“成功拷貝文件”,否則就會(huì)顯示“文件拷貝失敗”。IFERRORLEVEL是用來測(cè)試它的上一個(gè)DOS命令的返回值的,注意只是上一個(gè)命令的返回值,而且返回值必須依照從大到小次序順序判斷。因此下面的批處理文件是錯(cuò)誤的:@ECHOOFFXCOPYC:\AUTOEXEC.BATD:\IFERRORLEVEL0ECHO成功拷貝文件IFERRORLEVEL1ECHO未找到拷貝文件IFERRORLEVEL2ECHO用戶通過ctrl-c中止拷貝操作IFERRORLEVEL3ECHO預(yù)置錯(cuò)誤阻止文件拷貝操作IFERRORLEVEL4ECHO拷貝過程中寫盤錯(cuò)誤無論拷貝是否成功,后面的:未找到拷貝文件用戶通過ctrl-c中止拷貝操作預(yù)置錯(cuò)誤阻止文件拷貝操作拷貝過程中寫盤錯(cuò)誤都將顯示出來。以下就是幾個(gè)常用命令的返回值及其代表的意義:backup0備份成功1未找到備份文件2文件共享沖突阻止備份完成3用戶用ctrl-c中止備份4由于致命的錯(cuò)誤使備份操作中止diskcomp0盤比較相同1盤比較不同2用戶通過ctrl-c中止比較操作3由于致命的錯(cuò)誤使比較操作中止4預(yù)置錯(cuò)誤中止比較diskcopy0盤拷貝操作成功1非致命盤讀/寫錯(cuò)2用戶通過ctrl-c結(jié)束拷貝操作3因致命的處理錯(cuò)誤使盤拷貝中止4預(yù)置錯(cuò)誤阻止拷貝操作format0格式化成功3用戶通過ctrl-c中止格式化處理4因致命的處理錯(cuò)誤使格式化中止5在提示proceedwithformat(y

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論