佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > DOS批處理文件

DOS批處理文件

熱門標(biāo)簽:智能手機(jī) 呼叫中心市場需求 鐵路電話系統(tǒng) 美圖手機(jī) 服務(wù)器配置 網(wǎng)站文章發(fā)布 檢查注冊表項(xiàng) 銀行業(yè)務(wù)
   

DOS下的可執(zhí)行文件有三種,分別是EXE,COM和BAT。其中,EXE和COM文件都是二進(jìn)制形式的,只有BAT文件是文本形式的,可以直接閱讀。因 此,BAT文件和以上二進(jìn)制可執(zhí)行文件相比,內(nèi)容要簡單的多。這些文件內(nèi)包含著DOS命令的集合,通常叫作批處理文件。批處理文件的組成雖然比較簡單,但 其用處非常大,使用也比較廣泛。比如每次都執(zhí)行一些相同的命令,您一定會覺得非常麻煩,而放在批處理文件中執(zhí)行的話則輕松得多。AUTOEXEC.BAT 就是一個(gè)特殊的批處理文件,它在DOS的啟動時(shí)自動運(yùn)行,在系統(tǒng)的配置中發(fā)揮著非常大的作用。因此,要學(xué)好DOS,就要學(xué)好批處理文件。下面介紹批處理文 件的命令及其使用。

DOS自帶的批處理命令:

@ :將這個(gè)符號放在批文件中其它命令的前面,運(yùn)行時(shí)將不顯示命令本身。
如@ECHO OFF命令就在批文件首經(jīng)常用到。

CALL :從一個(gè)批文件中調(diào)用另一個(gè)批文件,調(diào)用完后繼續(xù)執(zhí)行原來的批文件。
用法:CALL [批文件名]
注:也可以使用COMMAND /C命令完成同樣的操作。

CHOICE :選擇命令。這是一個(gè)DOS外部命令,但它主要用在批文件中。
CHOICE命令執(zhí)行后將提示可選擇的項(xiàng)目,這時(shí)通過一個(gè)按鍵來選則。
用法:CHOICE:[/C[:]按鍵表] [/N] [/S] [/T[:]選擇值,秒數(shù)] [顯示文本]
其中,/C表示可選則的按鍵,/N表示不要顯示提示信息,/S表示大小寫字符敏感方式,/T表示若在批定的時(shí)間內(nèi)沒有選則的話,自動執(zhí)行/C中定義的某個(gè)選擇值。顯示文本是CHOICE命令執(zhí)行時(shí)的提示信息。選擇結(jié)果將用ERRORLEVEL值來表示。

ECHO :顯示指定的信息。通常顯示在屏幕上。
如ECHO Hello將在屏幕上顯示Hello的字樣。
另外,ECHO ON|OFF用來設(shè)置在批文件執(zhí)行時(shí)是否顯示命令本身。而ECHO OFF與@的意思一樣,但它是一個(gè)單獨(dú)的命令,而不能像@那樣放在其它命令之前。

FOR :對于指定的文件運(yùn)行相應(yīng)的命令。
大家知道,DOS下許多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,并非所有的DOS命令都支持通配符,如TYPE(文件內(nèi)容顯示命令)就不支持。有了FOR命令就沒有關(guān)系了,利于它可以使TYPE命令可以一次顯示多個(gè)文件。
用法:FOR %變量名 IN (文件集) DO 命令 [命令參數(shù)]
注:以上是FOR命令的固定形式,IN和DO的位置必須正確,否則將提示語法錯(cuò)誤。
如FOR %F IN (*.*) DO TYPE %F命令就可以實(shí)現(xiàn)TYPE命令一次顯示多個(gè)文件。
注:%F是變量名,也可用%G等代替,但前后必須一致。在批文件中用%%F代替。

GOTO :轉(zhuǎn)到批文件內(nèi)部的某個(gè)標(biāo)號下執(zhí)行。
大家知道,在編程中往往需要重復(fù)或跳轉(zhuǎn)到某個(gè)地方繼續(xù)執(zhí)行,如BASIC語言中的GOTO命令。批文件中的GOTO命令也可以完成類似的功能。
用法:GOTO [標(biāo)號名]
其中,標(biāo)號名是可以隨意設(shè)置的,如Hello等。設(shè)置標(biāo)號用“:”符號,如“:Hello”,這時(shí)用GOTO Hello命令將轉(zhuǎn)到“:Hello”所在的位置繼續(xù)執(zhí)行批文件。

IF :條件判斷命令。這是一項(xiàng)很有用的批處理命令。
用法1:IF [NOT] EXIST 文件名 命令 [命令參數(shù)]
意義:如果[不]存在某個(gè)文件將執(zhí)行某個(gè)命令。
用法2:IF [NOT] ERRORLEVEL 錯(cuò)誤返回代號 命令 [命令參數(shù)]
意義:如果錯(cuò)誤返回代號[不]大于或等于指定的代號將執(zhí)行某個(gè)命令。
其中,ERRORLEVEL表示錯(cuò)誤返回代號,很有用。對于很多DOS命令,由于執(zhí)行的結(jié)果不同(如執(zhí)行成功,執(zhí)行失敗,或被用戶中斷等),這些命令會返 回不同的代號,以表示不同的結(jié)果。IF ERRORLEVEL命令就根據(jù)這個(gè)不同結(jié)果而產(chǎn)生的不同代號來執(zhí)行不同的命令,通常用在某條命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果當(dāng)前的錯(cuò)誤返回代號大于或等于1時(shí)將在屏幕上顯示“OK!”的字樣。
用法3:IF [NOT] 字符串1==字符串2 命令 [命令參數(shù)]
意義:當(dāng)字符串1和字符串2[不]相等的時(shí)候執(zhí)行某個(gè)命令。

PAUSE :暫停批文件的執(zhí)行,并顯示“按任意鍵繼續(xù)”的字樣。

REM :添加注解。用于增加文件可讀性,將不被執(zhí)行。也可以用::來代替。

SHIFT :在批文件中改變可替換參數(shù)的位置。
可替換參數(shù)是一種特殊的參數(shù),只能用在批文件中。這些參數(shù)是由使用者在執(zhí)行批處理命令時(shí)輸入的。比如,我們執(zhí)行DIR /S /W命令,其中DIR是命令名,/S和/W是它的執(zhí)行參數(shù)。在批文件中,這些命令參數(shù)將被分別賦予到可替換參數(shù)中,如/S就成的%1,/W就可了%2,以 至類推,而命令本身則被賦予%0中。批文件就是利用可替換參數(shù)對執(zhí)行時(shí)輸入的參數(shù)來進(jìn)行操作的。比如現(xiàn)在有個(gè)批處理文件叫MYFILE.BAT,在命令行 下執(zhí)行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判斷出%1等參數(shù)的值,然后根據(jù)這些值的不同執(zhí)行 不同的操作,如IF "%1"=="YES" GOTO YES。
SHIFT命令不帶任何參數(shù),執(zhí)行結(jié)果是將%0的值換成原%1的值,而原%1的值變成的原%2的值,以此類推。注意它的不可逆轉(zhuǎn)性。因?yàn)榕幚砦募?zhí)行時(shí) 的運(yùn)行參數(shù)可能很多,可能會超過10個(gè),而可替換參數(shù)只能從%0到%9,若想取得%9以后的參數(shù)值,只能使用SHIFT命令。這時(shí),整個(gè)參數(shù)列將向前推。

以上是DOS的自帶批處理命令,可以看出,這些命令是非常少的,若要編寫較復(fù)雜的程序,用以上的命令顯然不可能實(shí)現(xiàn)。這時(shí)就需要其它實(shí)用的批處理工具了, 著名且實(shí)用的有TESTIF,STRING,ASET,BATCHMAN,WBAT等,均可在“DOS軟件分類下載”中的“腳本工具”中下載。在批處理文 件中使用以上的工具可以實(shí)現(xiàn)非常強(qiáng)大的功能,甚至可以完成許多高級語言程序的功能。所以,如果您想編者按寫批處理文件的話,它們是您不錯(cuò)的選擇,不僅有詳 細(xì)的文檔,而且還在不斷發(fā)展中。

下面就要談批處理文件的制作了。其實(shí)制作批處理文件并不難,只要掌握了方法就行了。隨著您操作次數(shù)的增多,您會覺得越來越容易的。

首先使用一個(gè)文本編輯器,如DOS自帶的EDIT命令或其它的編輯工具,如PEDIT等新建一個(gè)空白文件(當(dāng)然,用COPY CON命令直接創(chuàng)建也行),然后在其中根據(jù)您想完成的功能輸入批處理命令。如果您只是想執(zhí)行一些的DOS命令的集合,則按順序在每行輸入一個(gè)DOS命令就行了。但如果您是想完成一些更復(fù)雜的操作,就需要以上的批處理命令或上述的批處理工具了。

以下是我原來所編的一個(gè)從1%慢慢增加到100%的批處理小程序,大家可以用作參考,以編寫自己的程序。

@echo off
break off
cls
set c=0
writext 10 1 Wait...
be delay 4
:loop
writext 10 9 %c%%%completed.
count c
if not %c%==101 goto loop
echo.
set c=
kpush /f
break on

其中,我用到了WRITEXT,COUNT,BE和KPUSH,這些都是批處理工具。WRITEXT是ECHO的增強(qiáng)工具,可以自定義顯示的效果。 COUNT是變量的計(jì)算工具,如原來C的值為1,執(zhí)行COUNT C后C的值就為2。BE是個(gè)強(qiáng)大的批處理增強(qiáng)工具,在Norton Utilties 8.0中帶有。KPUSH是鍵盤緩沖工具。

總之,利用批處理命令和批處理增強(qiáng)工具,我們可以編出許多強(qiáng)大的批處理文件來,大家不妨一試。許多批處理工具可以在“腳本工具”中下載。

標(biāo)簽:紅河 長治 滄州 新疆 上海 河南 樂山 沈陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《DOS批處理文件》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    北安市| 道真| 莒南县| 万盛区| 肥城市| 萨嘎县| 泽普县| 沙田区| 讷河市| 武城县| 涞水县| 尼勒克县| 汝阳县| 嘉义县| 丹江口市| 阿尔山市| 定结县| 手游| 武川县| 拜泉县| 平原县| 临高县| 墨竹工卡县| 黑河市| 凤阳县| 英山县| 德兴市| 云霄县| 新巴尔虎左旗| 腾冲县| 筠连县| 伊春市| 区。| 成武县| 武强县| 五华县| 延津县| 运城市| 平潭县| 惠东县| 沅陵县|