DOS下的可執(zhí)行文件有三種,分別是EXE,COM和BAT(當(dāng)前頁支持cmd擴(kuò)展名)。其中,EXE和COM文件都是二進(jìn)制形式的,只有BAT文 件是文本形式的,可以直接閱讀。因此,BAT文件和以上二進(jìn)制可執(zhí)行文件相比,內(nèi)容要簡單的多。這些文件內(nèi)包含著DOS命令的集合,通常叫作批處理文件。
批 處理文件的組成雖然比較簡單,但其用處非常大,使用也比較廣泛。比如每次都執(zhí)行一些相同的命令,您一定會覺得非常麻煩,而放在批處理文件中執(zhí)行的話則輕松 得多。AUTOEXEC.BAT就是一個特殊的批處理文件,它在DOS的啟動時自動運(yùn)行,在系統(tǒng)的配置中發(fā)揮著非常大的作用。因此,要學(xué)好DOS,就要學(xué) 好批處理文件。下面介紹批處理文件的命令及其使用。
DOS自帶的批處理命令:
@ :將這個符號放在批文件中其它命令的前面,運(yùn)行時將不顯示命令本身。
如@ECHO OFF命令就在批文件首經(jīng)常用到。
CALL :從一個批文件中調(diào)用另一個批文件,調(diào)用完后繼續(xù)執(zhí)行原來的批文件。
用法:CALL [批文件名]
注:也可以使用COMMAND /C命令完成同樣的操作。
CHOICE :選擇命令。這是一個DOS外部命令,但它主要用在批文件中。
CHOICE命令執(zhí)行后將提示可選擇的項目,這時通過一個按鍵來選則。
用法:CHOICE:[/C[:]按鍵表] [/N] [/S] [/T[:]選擇值,秒數(shù)] [顯示文本]
其中,/C表示可選則的按鍵,/N表示不要顯示提示信息,/S表示大小寫字符敏感方式,/T表示若在批定的時間內(nèi)沒有選則的話,自動執(zhí)行/C中定義的某個選擇值。顯示文本是CHOICE命令執(zhí)行時的提示信息。選擇結(jié)果將用ERRORLEVEL值來表示。
ECHO :顯示指定的信息。通常顯示在屏幕上。
如ECHO Hello將在屏幕上顯示Hello的字樣。
另外,ECHO ON|OFF用來設(shè)置在批文件執(zhí)行時是否顯示命令本身。而ECHO OFF與@的意思一樣,但它是一個單獨(dú)的命令,而不能像@那樣放在其它命令之前。
FOR :對于指定的文件運(yùn)行相應(yīng)的命令。
大家知道,DOS下許多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,并非所有的DOS命令都支持通配符,如TYPE(文件內(nèi)容顯示命令)就不支持。有了FOR命令就沒有關(guān)系了,利于它可以使TYPE命令可以一次顯示多個文件。
用法:FOR %變量名 IN (文件集) DO 命令 [命令參數(shù)]
注:以上是FOR命令的固定形式,IN和DO的位置必須正確,否則將提示語法錯誤。
如FOR %F IN (*.*) DO TYPE %F命令就可以實現(xiàn)TYPE命令一次顯示多個文件。
注:%F是變量名,也可用%G等代替,但前后必須一致。在批文件中用%%F代替。
GOTO :轉(zhuǎn)到批文件內(nèi)部的某個標(biāo)號下執(zhí)行。
大家知道,在編程中往往需要重復(fù)或跳轉(zhuǎn)到某個地方繼續(xù)執(zhí)行,如BASIC語言中的GOTO命令。批文件中的GOTO命令也可以完成類似的功能。
用法:GOTO [標(biāo)號名]
其中,標(biāo)號名是可以隨意設(shè)置的,如Hello等。設(shè)置標(biāo)號用“:”符號,如“:Hello”,這時用GOTO Hello命令將轉(zhuǎn)到“:Hello”所在的位置繼續(xù)執(zhí)行批文件。
IF :條件判斷命令。這是一項很有用的批處理命令。
用法1:IF [NOT] EXIST 文件名 命令 [命令參數(shù)]
意義:如果[不]存在某個文件將執(zhí)行某個命令。
用法2:IF [NOT] ERRORLEVEL 錯誤返回代號 命令 [命令參數(shù)]
意義:如果錯誤返回代號[不]大于或等于指定的代號將執(zhí)行某個命令。
其 中,ERRORLEVEL表示錯誤返回代號,很有用。對于很多DOS命令,由于執(zhí)行的結(jié)果不同(如執(zhí)行成功,執(zhí)行失敗,或被用戶中斷等),這些命令會返回 不同的代號,以表示不同的結(jié)果。IF ERRORLEVEL命令就根據(jù)這個不同結(jié)果而產(chǎn)生的不同代號來執(zhí)行不同的命令,通常用在某條命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果當(dāng)前的錯誤返回代號大于或等于1時將在屏幕上顯示“OK!”的字樣。
用法3:IF [NOT] 字符串1==字符串2 命令 [命令參數(shù)]
意義:當(dāng)字符串1和字符串2[不]相等的時候執(zhí)行某個命令。
PAUSE :暫停批文件的執(zhí)行,并顯示“按任意鍵繼續(xù)”的字樣。
REM :添加注解。用于增加文件可讀性,將不被執(zhí)行。也可以用::來代替。
dos命令
DOS
DOS中是通過輸入英文命令加回車鍵這種方式來執(zhí)行程序的,DOS稱為單任務(wù)的操作系統(tǒng)。
凡后綴為exe、com或bat的文件都是可以直接執(zhí)行的。這些以exe為后綴的文件叫可執(zhí)行文件;以com為后綴的文件叫命令文件;以bat為后綴的文件叫批處理文件。如果我們要執(zhí)行這些文件,只需在提示符下敲入文件基本名然后回車即可,不需輸入文件后綴。
所謂批處理,就是一下可以執(zhí)行很多條命令,當(dāng)我們想讓電腦完成一系列任務(wù)時,可以一個一個命令的執(zhí)行,也可以將這些命令都裝入一個文件中,只要敲一下這個文件名,電腦就會將這一批命令一次執(zhí)行完畢。
在DOS中,有個當(dāng)前目錄的概念,就是提示符所顯示的目錄,現(xiàn)在的提示符是C:,那么當(dāng)前目錄就是C盤的根目錄,這個(反斜杠)就表示根目錄。
在我們輸入可執(zhí)行文件名時,DOS會在當(dāng)前目錄中尋找該文件,如果沒有該文件,DOS會提示錯誤信息。
要 完整地表達(dá)一個子目錄應(yīng)該是盤符加目錄,比如C: DOSTEMP,那么完整地表達(dá)文件呢?就是盤符加目錄加文件名,比如C:DOSTEMPME.TXT,C:DOSTEMP就叫做 ME.TXT的路徑。注意:如果路徑中有空格,那么整個路徑要用"路徑"雙引號包圍起來。
剛才我們說過,輸入可執(zhí)行文件名時,DOS會 在當(dāng)前目錄中尋找該文件,如果找不到,會提示錯誤的文件名,但是我們不是一定要把當(dāng)前目錄更換到文件所在的目錄才能運(yùn)行它的,可以在文件名前加上完整的路 徑就可以了,比如我們現(xiàn)在的當(dāng)前目錄是C:DOS,我們要運(yùn)行D:TESTPCT.EXE,那么我們可以直接輸入D:TESTPCT.EXE回 車,這樣我們不改變當(dāng)前目錄就可以執(zhí)行其它目錄下的文件。
DOS的命令分為內(nèi)部命令和外部命令,內(nèi)部命令是隨command.com裝入內(nèi)存的,而外部命令是一條一條單獨(dú)的可執(zhí)行文件。
內(nèi)部命令都集中在根目錄下的command.com文件里,電腦每次啟動時都會將這個文件讀入內(nèi)存,也就是說在電腦運(yùn)行時,這些內(nèi)部命令都駐留在內(nèi)存 中,用dir是看不到這些內(nèi)部命令的。而外部命令都是以一個個獨(dú)立的文件存放在磁盤上的,它們都是以com和exe為后綴的文件,它們并不常駐內(nèi)存,只有 在電腦需要時,才會被調(diào)入內(nèi)存。
?通配符和*的區(qū)別是什么呢?*可以代替文件名中的多個字符,而?只能代替文件名中的一個字符。
在使用通配符時,文件基本名和擴(kuò)展名中最多只能各出現(xiàn)一個*,而?可以在不超過文件名和擴(kuò)展名長度的前提下出現(xiàn)多個。
1. # time #顯示當(dāng)前時間
2. #dir #查看當(dāng)前目錄下的文件和目錄信息
# dir /p #翻頁顯示
3. #mem #查看當(dāng)前系統(tǒng)的內(nèi)存情況
4. #cd #改變當(dāng)前目錄
cd .. # 在DOS中,這個兩點(diǎn)就表示當(dāng)前目錄的上一層目錄,一個點(diǎn)表示當(dāng)前目錄
cd #就表示根目錄。
5. #盤符: #更換當(dāng)前目錄到硬盤的其它分區(qū)
6. # md(make directory--創(chuàng)建目錄)
7.# rd(remove directory--刪除目錄)
8.#exit #退出dos終端
9.#copy 源文件名 目的文件名 #復(fù)制
10.#del 文件名 #刪除當(dāng)前目錄的某個文件
11.#ren 源文件名 目的文件名 #改文件名
12.#type 文件名 #查看文件里的內(nèi)容
#del *.*或del . #刪除當(dāng)前目錄中的所有文件
13.#format A: #格式化磁盤