轉載文章!來至於
http://khiav.99k.org/txt/dos/config.htm
如有侵權!煩請告知!謝謝!!
簡述 DOS Config.sys & Autoexec.bat
Config.sys文件是DOS系統中的一個非常重要的文本文件,它位於啟動盤所在的根目錄下面,由一系列的系統配置命令組成,這些命令對組成電腦的各個硬體進行初始化配置,以便DOS作業系統在啟動之後能夠很好地利用它們。
--------Config.sys--------
[MENU]
SUBMENU=DOS,DOS
SUBMENU=CD,DOS WITH CD-ROM
NUMLOCK=ON
MENUCOLOR=15,1
MENUDEFAULT=DOS,10
[DOS]
MENUITEM=DOS1,DOS
MENUITEM=DOS2,DOS WITH NOEMS
MENUCOLOR=15,1
MENUDEFAULT=DOS1,10
[CD]
MENUITEM=DOS3,DOS WITH CD-ROM
MENUITEM=DOS4,DOS WITH CD-ROM NOEMS
[DOS1]
INCLUDE MEM
[DOS2]
INCLUDE NOEMS
[DOS3]
INCLUDE MEM
INCLUDE CD-ROM
[DOS4]
INCLUDE NOEMS
INCLUDE CD-ROM
[MEM]
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF
[NOEMS]
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE RAM NOEMS I=B000-B7FF
[CD-ROM]
DEVICEHIGH=C:\CDROM\TEAC_CDI.SYS /D:MSCD001
[COMMON]
DOS=HIGH,UMB
BUFFERS=40,0
FILES=96
STACKS=9,512
LASTDRIVE=Z
-----------格式如下:------------
[MENU]
SUBMENU=塊名,功能表內容
MENUCOLOR=X,Y
MENUDEFAULT=塊名,時間值
[塊名]
MENUITEM=次塊名,功能表內容
[次塊名]
INCLUDE 塊名
…………
[COMMON]
…………
1.這是一個多重配置的選單格式,其中[MENU]塊是必不可少的,它定義了啟動功能表的功能表項及顏色等資訊,其他的塊大多以某個功能表項的名字來命名,當選中功能表項時則執行與它相應的塊裏面的語句;[COMMON]為公共項,無論選擇哪個功能表項,公共項裏面的命令都將被執行。
2.SUBMENU=DOS,DOS 系統定義了一個功能表項,格式為:
SUBMENU=塊名 功能表內容
塊名:當選中此功能表項時,將執行的配置塊的名字。
功能表內容:顯示啟動功能表時,出現在螢幕上的內容。 此項為可選項,指定它則啟動顯示功能表時只顯示它而不顯示塊名,否則啟動功能表上顯示的是塊名。
3.MENUITEM=DOS1 系統定義了一個次功能表項,格式為:
MENUITEM=次塊名 功能表內容
次塊名:當選中此功能表項時,將執行的配置塊的名字。
功能表內容:顯示啟動功能表時,出現在螢幕上的內容。 此項為可選項,指定它則啟動顯示功能表時只顯示它而不顯示塊名,否則啟動功能表上顯示的是次塊名。
4.NUMLOCK:指定啟動時NUMLOCK指定燈是否打開。
用法:NUMLOCK=ON|OFF
5.MENUCOLOR=15,1定義了啟動功能表的前景色和背景色,格式為:MENUCOLOR=X,Y
X:指定功能表中文字的顏色,其值為0~15。
Y:指定功能表中背景顏色,其值為0~15,缺省值為0,即黑色。
6.MENUDEFAULT=DOS,10定義了啟動功能表的一個缺省選擇項,並設定了一個超時限定值。格式如下:
MENUDEFAULT=塊名,時間值
塊名:缺省功能表項的塊名。
時間值:規定在等待多少秒後如果還未按鍵,系統將執行缺省功能表項相應的功能表塊。
7.INCLUDE 塊名
為呼叫塊名,並執行該塊名內的命令!
8.device devicehigh loadhigh
device 將指定的設備驅動程序裝入內存中
devicehigh將指定的設備驅動程序裝入高端內存中
loadhigh 將指定的設備驅動程序裝入高端內存中
9.HIMEM.SYS
DEVICE=C:\HIMEM.SYS /TESTMEM:OFF 載入擴展記憶體管理程式,其中"/TESTMEM:OFF"表示載入擴展記憶體管理程式時不檢測記憶體。
10.EMM386.EXE
提供對擴展內存的管理,使應用程序象使用常規內存一樣能夠使用它.
常見的用法是 在config.sys 中
device=c:\dos\himem.sys
device=c:\dos\emm386.exe ram
d=64 將DMA 內存數量設置為64K
noems 提供對上位內存的訪問,但不提供對擴展內存的訪問.
應注意的是在windows中最好不要用它,因為windows本身有對擴展內存進行管理的程序.應採用windows中的管理器.
DEVICE=C:\EMM386.EXE RAM NOEMS I=B000-B7FF 載入擴充記憶體管理程式(必須先載入擴展記憶體管理程式)。"RAM"表示將640K~1024K之間閒餘的記憶體提交給DOS管理,此空間即為UMB(上位記憶體塊),"NOEMS"表示系統不提供任何擴充記憶體的功能,缺少情況下EMM386管理程式會將擴展記憶體模擬成擴充記憶體。"I=B000-B7FF"表示將地址為B000~B7FF(供單色顯示器映射ROM用)的32K大小的記憶體釋放成為UMB。
11.DEVICEHIGH=C:\CDROM\TEAC_CDI.SYS /D:MSCD001 將光碟機驅動程式裝載入上位記憶體。注意如果要在DOS下面使用光碟機,最好在配置Config.sys前運行一下光碟機在DOS下面驅動程式的安裝文件,然後將此安裝程式在Config.sys和Autoexec.bat兩文件中添加的語句記下來,在配置多重啟動時把這些語句加進去。因為各類光碟機的驅動程式都不盡相同,所以只能這麼配置。
12.dos=high[|low[umb|noumb]]
dos=high,umb 則dos將自身裝入高端內存(high)並能管理上位內存(umb).
noumb 則不管理上位內存.
在寫入dos=high及umb 前應裝入device=himem.sys
為了將程序或驅動程序裝入上位內存,必須使用dos=umb,可省出大部分常規內存.
可以在config.sys的任何位置寫上dos=high,umb
若顯示hma not avoiable 或 load down low 則表明不能使用高端內存.
DOS=HIGH,UMB 表示DOS管理由EMM386.EXE創建的UMB,並將自身的一部分裝入HMA(高階記憶體)。
13.BUFFERS/BUFFERSHIGH
為指定數量的磁盤緩沖區分配內存。用法:BUFFERS=磁盤緩沖區數量,[從屬高速緩存中的緩沖區數量]
14.FILES=96 指定DOS可以同時訪問的文件數量。
15.STACKS=9,512 此命令表示在處理硬體中斷時可以動態使用9個512K大小的數據堆棧。
16.LASTDRIVE=Z 指定系統可分配的最後一個驅動器號,其值取A~Z(如果裝了一台以上的光碟機,一定要加入這行才行。
--------Autoexec.bat--------
@ECHO OFF
PROMPT $p$g
C:\DOS\SMARTDRV
SET PATH=C:\;C:\DOS;C:\TOOLS;%PATH%
rem LH MOUSE
GOTO %CONFIG%
:DOS1
GOTO END
:DOS2
GOTO END
:DOS3
GOTO CD
:DOS4
GOTO CD
:CD
LH C:\CDROM\MSCDEX.EXE /D:MSC-D001
GOTO END
:END
說明如下:
1.@ECHO OFF
表示不顯示AUTOEXEC. BAT中各行命令語句的內容,前面加上"@"則"ECHO OFF"字符也不顯示在螢幕上,否則螢幕上顯示"ECHO OFF"。
2.prompt dos 提示符
$q 等於號 $t 當前時間 $d 當前日期 $p 當前驅動器符號
$$ $號提示 $n當前驅動器 $g 大於號 $l小於號 $b 顯示"|"管道號
$h 隱去提示符 $E顯示"<-"號
對於其它文字,則直接顯示文本本身prompt ljw,則顯示為ljw提示符
prompt 則僅顯示當前驅動器號及大於號.
prompt $p$g 以當前目錄名和>;號為提示符,這是最常用的提示符
3.SMARTDRV
載入高速磁片緩存程式。程式載入時如上位記憶體有剩餘空間,它將自動載入到上位記憶體。為有效地加速系統對磁片的操作,通過SMARTDRV.EXE在擴展記憶體中創建磁片緩存,它存儲剛剛使用且以後還要使用的磁片磁區的數據,因為以後直接從RAM而不是從磁片中讀取數據,所以提高了訪問速度。
smartdrv /x 執行並駐留內存,開辟磁盤加速緩存區,並屏蔽所有驅動器緩存,是較常用的方法(一般用這個命令就夠了)
smartdrv /c 將緩存內的信息都寫入硬盤
smartdrv /e: 數字 設置一次移動的信息量
smartdrv /b: 數字 設置預先讀取的緩沖區大小
4.SET
用於設置、顯示或刪除DOS環境變數。%PATH%表示取當前系統搜索路徑參數,你可以看一下 SMARTDRV 及 MOUSE 的路徑差別。
5.REM
添加注解。用法:REM [注解字符串];也可以用 :: 來表示!
注:注解中的字符串只是用來增加可讀性,將不被執行。
6.lh/loadhigh 將程序裝入高端內存
這條命令一般用在autoexec.bat中,當有些軟件需要的基本內存很大時,它會有用
lh [程序] 將程序裝入高端內存 使用此命令時,config.sys文件中需有下面兩條語句。
device=emm386.exe dos=umb
lh [程序] /l:區號 將程序裝入指定的umb區
lh /s 一般是由memmaker專用
7.LH MOUSE.COM
表示將滑鼠驅動程式加入到上位記憶體,如果滑鼠驅動程式是*.SYS的形式的化,則必須將該驅動程式通過CONFIG. SYS文件載入到上位記憶體區中,格式為:
DEVICEHIGH=C:\MOUSE\MOUSE. SYS其中"DEVICEHIGH"表示將該設備驅動程式載入到UMB。
8.GOTO %CONFIG%
表示DOS將轉到標號為環境變數CONFIG值的語句下面,開始執行下面的語句。
9.LH C:\CDROM\MSCDEX.EXE /D:MSCD-001
將光碟機驅動程式裝載入上位記憶體。注意加入此命令前在Config.sys必須加入"DEVICEHIGH=C:\CDROM\TEAC_CDI.SYS/D:MS-CD001"語句。
注意:Config.sys和Autoexec.bat 兩個文件中所有的標點符號都必須是半形的格式(如","不能寫成","),否則在啟動時將出錯!
附擴充記憶體、擴展記憶體、常規記憶體、上位記憶體、高端記憶體的定義:
擴展記憶體(XMS,EXTENDED MEMO-RY),是主板上0~640K以外的記憶體。由於DOS早期開發的局限性,只能管理0~640K內的記憶體段。為了使用640K以外的擴展記憶體,電腦業形成了一個使用標準,即(Lotus/Intel/Micro-soft/AST)Extended Memory specification(擴展記憶體使用規範)。MS_DOS所提供的HIMEM .SYS文件即是按此規範編寫的擴展記憶體管理(驅動)程式,通過在啟動時載入此管理(驅動)程式,系統即可使用640K以上的記憶體空間。
擴充記憶體(EMS,EXPANDED MEMO-RY),是通過加插板卡或通過模擬實現的記憶體。為了使用640K以上的擴充記憶體,電腦業形成了一個使用標準,即(Lotus/Intel/Microsoft)Expanded Memory Specification(擴充記憶體使用規範)。對於加插板卡的擴充記憶體,必須運行隨卡附帶的驅動程式;如果要用擴展記憶體來模擬擴充記憶體,則需運行MS_DOS提供的EMM386.EXE驅動程式。從EMS和XMS的產生時間來看,EMS要早於XMS,早期的電腦記憶體都較小,遠遠滿足不了大型軟體的運行需要,所以必須通過加插板卡以增加記憶體,而隨著主板、記憶體等的製造成本的下降,XMS也逐漸取代了EMS,但為了適應早期一些應用程式必須使用EMS的需要(比如以前KOEI出的三國志系列),MS_DOS提供了通過EMM386. EXEGO來利用XMS模擬EMS的的功能。
常規記憶體始於0KB,結束於640KB,如果沒有使用一些記憶體管理程式的話(在MS_DOS下面,除了HIMEM.SYS、EMM386.EXE之外還有Quarterdeck的QEMM和Qualitas的386MAX等),那麼常規記憶體就是你所能使用的唯一的一種記憶體,常規記憶體將被DOS及設備驅動程式和TSR(記憶體常駐程式)所佔用。TSR是裝入電腦記憶體並駐留在那裏面的一種程式,而一般的程式往往在使用完畢之後把佔用的記憶體返還給作業系統。
上位記憶體(UMB,UPPER MEMORY BLOCKS),指640KB到1024KB之間的記憶體,通常此區域被褚如系統ROM、視頻之類所使用。但大多數的電腦的硬體並不使用整個上位記憶體區,當我們使用了像EMM386這樣的記憶體管理管理程式之後,就可以把一些TSR程式移到這此記憶體區。
高端記憶體(HMA,HIGH MEMORY AREA),是1MB記憶體以上的64KB連續記憶體空間,它屬於擴展記憶體。換句話說就是指擴展記憶體的前64K部分。這是記憶體的一個特殊區域,通常用來將DOS裝入高端記憶體區域內。
DOS批次檔其它命令
CALL:從一個批文件中調用另一個批文件,調用完后繼續執行原來的批文件。
用法:CALL [批文件名]
注:也可以使用COMMAND /C命令完成同樣的操作。
CHOICE:選擇命令。這是一個DOS外部命令,但它主要用在批文件中。
CHOICE命令執行后將提示可選擇的項目,這時通過一個按鍵來選則。
用法:CHOICE:[/C[:]按鍵表] [/N] [/S] [/T[:]選擇值,秒數] [顯示文本]
其中,/C表示可選則的按鍵,/N表示不要顯示提示信息,/S表示大小寫字符敏感方式,/T表示若在批定的時間內沒有選則的話,自動執行/C中定義的某個選擇值。顯示文本是CHOICE命令執行時的提示信息。選擇結果將用ERRORLEVEL值來表示。
ECHO:顯示指定的信息。通常顯示在屏幕上。
如ECHO Hello將在屏幕上顯示Hello的字樣。
另外,ECHO ON|OFF用來設置在批文件執行時是否顯示命令本身。而ECHO OFF與@的意思一樣,但它是一個單獨的命令,而不能像@那樣放在其它命令之前。
FOR:對于指定的文件運行相應的命令。
大家知道,DOS下許多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,並非所有的DOS命令都支持通配符,如TYPE(文件內容顯示命令)就不支持。有了FOR命令就沒有關系了,利于它可以使TYPE命令可以一次顯示多個文件。
用法:FOR %變量名 IN (文件集) DO 命令 [命令參數]
注:以上是FOR命令的固定形式,IN和DO的位置必須正确,否則將提示語法錯誤。
如FOR %F IN (*.*) DO TYPE %F命令就可以實現TYPE命令一次顯示多個文件。
注:%F是變量名,也可用%G等代替,但前后必須一致。在批文件中用%%F代替。
IF:條件判斷命令。這是一項很有用的批處理命令。
用法1:IF [NOT] EXIST 文件名 命令 [命令參數]
意義:如果[不]存在某個文件將執行某個命令。
用法2:IF [NOT] ERRORLEVEL 錯誤返回代號 命令 [命令參數]
意義:如果錯誤返回代號[不]大于或等于指定的代號將執行某個命令。
其中,ERRORLEVEL表示錯誤返回代號,很有用。對于很多DOS命令,由于執行的結果不同(如執行成功,執行失敗,或被用戶中斷等),這些命令會返回不同的代號,以表示不同的結果。IF ERRORLEVEL命令就根据這個不同結果而產生的不同代號來執行不同的命令,通常用在某條命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果當前的錯誤返回代號大于或等于1時將在屏幕上顯示“OK!”的字樣。
用法3:IF [NOT] 字符串1==字符串2 命令 [命令參數]
意義:當字符串1和字符串2[不]相等的時候執行某個命令。
PAUSE:暫停批文件的執行,並顯示“按任意鍵繼續”的字樣。
SHIFT:在批文件中改變可替換參數的位置。
可替換參數是一種特殊的參數,只能用在批文件中。這些參數是由使用者在執行批處理命令時輸入的。比如,我們執行DIR /S /W命令,其中DIR是命令名,/S和/W是它的執行參數。在批文件中,這些命令參數將被分別賦予到可替換參數中,如/S就成的%1,/W就可了%2,以至類推,而命令本身則被賦予%0中。批文件就是利用可替換參數對執行時輸入的參數來進行操作的。比如現在有個批處理文件叫MYFILE.BAT,在命令行下執行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判斷出%1等參數的值,然后根据這些值的不同執行不同的操作,如IF "%1"=="YES" GOTO YES。
SHIFT命令不帶任何參數,執行結果是將%0的值換成原%1的值,而原%1的值變成的原%2的值,以此類推。注意它的不可逆轉性。因為批處理文件執行時的運行參數可能很多,可能會超過10個,而可替換參數只能從%0到%9,若想取得%9以后的參數值,只能使用SHIFT命令。這時,整個參數列將向前推。
如有侵權!煩請告知!謝謝!!
簡述 DOS Config.sys & Autoexec.bat
Config.sys文件是DOS系統中的一個非常重要的文本文件,它位於啟動盤所在的根目錄下面,由一系列的系統配置命令組成,這些命令對組成電腦的各個硬體進行初始化配置,以便DOS作業系統在啟動之後能夠很好地利用它們。
--------Config.sys--------
[MENU]
SUBMENU=DOS,DOS
SUBMENU=CD,DOS WITH CD-ROM
NUMLOCK=ON
MENUCOLOR=15,1
MENUDEFAULT=DOS,10
[DOS]
MENUITEM=DOS1,DOS
MENUITEM=DOS2,DOS WITH NOEMS
MENUCOLOR=15,1
MENUDEFAULT=DOS1,10
[CD]
MENUITEM=DOS3,DOS WITH CD-ROM
MENUITEM=DOS4,DOS WITH CD-ROM NOEMS
[DOS1]
INCLUDE MEM
[DOS2]
INCLUDE NOEMS
[DOS3]
INCLUDE MEM
INCLUDE CD-ROM
[DOS4]
INCLUDE NOEMS
INCLUDE CD-ROM
[MEM]
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF
[NOEMS]
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE RAM NOEMS I=B000-B7FF
[CD-ROM]
DEVICEHIGH=C:\CDROM\TEAC_CDI.SYS /D:MSCD001
[COMMON]
DOS=HIGH,UMB
BUFFERS=40,0
FILES=96
STACKS=9,512
LASTDRIVE=Z
-----------格式如下:------------
[MENU]
SUBMENU=塊名,功能表內容
MENUCOLOR=X,Y
MENUDEFAULT=塊名,時間值
[塊名]
MENUITEM=次塊名,功能表內容
[次塊名]
INCLUDE 塊名
…………
[COMMON]
…………
1.這是一個多重配置的選單格式,其中[MENU]塊是必不可少的,它定義了啟動功能表的功能表項及顏色等資訊,其他的塊大多以某個功能表項的名字來命名,當選中功能表項時則執行與它相應的塊裏面的語句;[COMMON]為公共項,無論選擇哪個功能表項,公共項裏面的命令都將被執行。
2.SUBMENU=DOS,DOS 系統定義了一個功能表項,格式為:
SUBMENU=塊名 功能表內容
塊名:當選中此功能表項時,將執行的配置塊的名字。
功能表內容:顯示啟動功能表時,出現在螢幕上的內容。 此項為可選項,指定它則啟動顯示功能表時只顯示它而不顯示塊名,否則啟動功能表上顯示的是塊名。
3.MENUITEM=DOS1 系統定義了一個次功能表項,格式為:
MENUITEM=次塊名 功能表內容
次塊名:當選中此功能表項時,將執行的配置塊的名字。
功能表內容:顯示啟動功能表時,出現在螢幕上的內容。 此項為可選項,指定它則啟動顯示功能表時只顯示它而不顯示塊名,否則啟動功能表上顯示的是次塊名。
4.NUMLOCK:指定啟動時NUMLOCK指定燈是否打開。
用法:NUMLOCK=ON|OFF
5.MENUCOLOR=15,1定義了啟動功能表的前景色和背景色,格式為:MENUCOLOR=X,Y
X:指定功能表中文字的顏色,其值為0~15。
Y:指定功能表中背景顏色,其值為0~15,缺省值為0,即黑色。
6.MENUDEFAULT=DOS,10定義了啟動功能表的一個缺省選擇項,並設定了一個超時限定值。格式如下:
MENUDEFAULT=塊名,時間值
塊名:缺省功能表項的塊名。
時間值:規定在等待多少秒後如果還未按鍵,系統將執行缺省功能表項相應的功能表塊。
7.INCLUDE 塊名
為呼叫塊名,並執行該塊名內的命令!
8.device devicehigh loadhigh
device 將指定的設備驅動程序裝入內存中
devicehigh將指定的設備驅動程序裝入高端內存中
loadhigh 將指定的設備驅動程序裝入高端內存中
9.HIMEM.SYS
DEVICE=C:\HIMEM.SYS /TESTMEM:OFF 載入擴展記憶體管理程式,其中"/TESTMEM:OFF"表示載入擴展記憶體管理程式時不檢測記憶體。
10.EMM386.EXE
提供對擴展內存的管理,使應用程序象使用常規內存一樣能夠使用它.
常見的用法是 在config.sys 中
device=c:\dos\himem.sys
device=c:\dos\emm386.exe ram
d=64 將DMA 內存數量設置為64K
noems 提供對上位內存的訪問,但不提供對擴展內存的訪問.
應注意的是在windows中最好不要用它,因為windows本身有對擴展內存進行管理的程序.應採用windows中的管理器.
DEVICE=C:\EMM386.EXE RAM NOEMS I=B000-B7FF 載入擴充記憶體管理程式(必須先載入擴展記憶體管理程式)。"RAM"表示將640K~1024K之間閒餘的記憶體提交給DOS管理,此空間即為UMB(上位記憶體塊),"NOEMS"表示系統不提供任何擴充記憶體的功能,缺少情況下EMM386管理程式會將擴展記憶體模擬成擴充記憶體。"I=B000-B7FF"表示將地址為B000~B7FF(供單色顯示器映射ROM用)的32K大小的記憶體釋放成為UMB。
11.DEVICEHIGH=C:\CDROM\TEAC_CDI.SYS /D:MSCD001 將光碟機驅動程式裝載入上位記憶體。注意如果要在DOS下面使用光碟機,最好在配置Config.sys前運行一下光碟機在DOS下面驅動程式的安裝文件,然後將此安裝程式在Config.sys和Autoexec.bat兩文件中添加的語句記下來,在配置多重啟動時把這些語句加進去。因為各類光碟機的驅動程式都不盡相同,所以只能這麼配置。
12.dos=high[|low[umb|noumb]]
dos=high,umb 則dos將自身裝入高端內存(high)並能管理上位內存(umb).
noumb 則不管理上位內存.
在寫入dos=high及umb 前應裝入device=himem.sys
為了將程序或驅動程序裝入上位內存,必須使用dos=umb,可省出大部分常規內存.
可以在config.sys的任何位置寫上dos=high,umb
若顯示hma not avoiable 或 load down low 則表明不能使用高端內存.
DOS=HIGH,UMB 表示DOS管理由EMM386.EXE創建的UMB,並將自身的一部分裝入HMA(高階記憶體)。
13.BUFFERS/BUFFERSHIGH
為指定數量的磁盤緩沖區分配內存。用法:BUFFERS=磁盤緩沖區數量,[從屬高速緩存中的緩沖區數量]
14.FILES=96 指定DOS可以同時訪問的文件數量。
15.STACKS=9,512 此命令表示在處理硬體中斷時可以動態使用9個512K大小的數據堆棧。
16.LASTDRIVE=Z 指定系統可分配的最後一個驅動器號,其值取A~Z(如果裝了一台以上的光碟機,一定要加入這行才行。
--------Autoexec.bat--------
@ECHO OFF
PROMPT $p$g
C:\DOS\SMARTDRV
SET PATH=C:\;C:\DOS;C:\TOOLS;%PATH%
rem LH MOUSE
GOTO %CONFIG%
:DOS1
GOTO END
:DOS2
GOTO END
:DOS3
GOTO CD
:DOS4
GOTO CD
:CD
LH C:\CDROM\MSCDEX.EXE /D:MSC-D001
GOTO END
:END
說明如下:
1.@ECHO OFF
表示不顯示AUTOEXEC. BAT中各行命令語句的內容,前面加上"@"則"ECHO OFF"字符也不顯示在螢幕上,否則螢幕上顯示"ECHO OFF"。
2.prompt dos 提示符
$q 等於號 $t 當前時間 $d 當前日期 $p 當前驅動器符號
$$ $號提示 $n當前驅動器 $g 大於號 $l小於號 $b 顯示"|"管道號
$h 隱去提示符 $E顯示"<-"號
對於其它文字,則直接顯示文本本身prompt ljw,則顯示為ljw提示符
prompt 則僅顯示當前驅動器號及大於號.
prompt $p$g 以當前目錄名和>;號為提示符,這是最常用的提示符
3.SMARTDRV
載入高速磁片緩存程式。程式載入時如上位記憶體有剩餘空間,它將自動載入到上位記憶體。為有效地加速系統對磁片的操作,通過SMARTDRV.EXE在擴展記憶體中創建磁片緩存,它存儲剛剛使用且以後還要使用的磁片磁區的數據,因為以後直接從RAM而不是從磁片中讀取數據,所以提高了訪問速度。
smartdrv /x 執行並駐留內存,開辟磁盤加速緩存區,並屏蔽所有驅動器緩存,是較常用的方法(一般用這個命令就夠了)
smartdrv /c 將緩存內的信息都寫入硬盤
smartdrv /e: 數字 設置一次移動的信息量
smartdrv /b: 數字 設置預先讀取的緩沖區大小
4.SET
用於設置、顯示或刪除DOS環境變數。%PATH%表示取當前系統搜索路徑參數,你可以看一下 SMARTDRV 及 MOUSE 的路徑差別。
5.REM
添加注解。用法:REM [注解字符串];也可以用 :: 來表示!
注:注解中的字符串只是用來增加可讀性,將不被執行。
6.lh/loadhigh 將程序裝入高端內存
這條命令一般用在autoexec.bat中,當有些軟件需要的基本內存很大時,它會有用
lh [程序] 將程序裝入高端內存 使用此命令時,config.sys文件中需有下面兩條語句。
device=emm386.exe dos=umb
lh [程序] /l:區號 將程序裝入指定的umb區
lh /s 一般是由memmaker專用
7.LH MOUSE.COM
表示將滑鼠驅動程式加入到上位記憶體,如果滑鼠驅動程式是*.SYS的形式的化,則必須將該驅動程式通過CONFIG. SYS文件載入到上位記憶體區中,格式為:
DEVICEHIGH=C:\MOUSE\MOUSE. SYS其中"DEVICEHIGH"表示將該設備驅動程式載入到UMB。
8.GOTO %CONFIG%
表示DOS將轉到標號為環境變數CONFIG值的語句下面,開始執行下面的語句。
9.LH C:\CDROM\MSCDEX.EXE /D:MSCD-001
將光碟機驅動程式裝載入上位記憶體。注意加入此命令前在Config.sys必須加入"DEVICEHIGH=C:\CDROM\TEAC_CDI.SYS/D:MS-CD001"語句。
注意:Config.sys和Autoexec.bat 兩個文件中所有的標點符號都必須是半形的格式(如","不能寫成","),否則在啟動時將出錯!
附擴充記憶體、擴展記憶體、常規記憶體、上位記憶體、高端記憶體的定義:
擴展記憶體(XMS,EXTENDED MEMO-RY),是主板上0~640K以外的記憶體。由於DOS早期開發的局限性,只能管理0~640K內的記憶體段。為了使用640K以外的擴展記憶體,電腦業形成了一個使用標準,即(Lotus/Intel/Micro-soft/AST)Extended Memory specification(擴展記憶體使用規範)。MS_DOS所提供的HIMEM .SYS文件即是按此規範編寫的擴展記憶體管理(驅動)程式,通過在啟動時載入此管理(驅動)程式,系統即可使用640K以上的記憶體空間。
擴充記憶體(EMS,EXPANDED MEMO-RY),是通過加插板卡或通過模擬實現的記憶體。為了使用640K以上的擴充記憶體,電腦業形成了一個使用標準,即(Lotus/Intel/Microsoft)Expanded Memory Specification(擴充記憶體使用規範)。對於加插板卡的擴充記憶體,必須運行隨卡附帶的驅動程式;如果要用擴展記憶體來模擬擴充記憶體,則需運行MS_DOS提供的EMM386.EXE驅動程式。從EMS和XMS的產生時間來看,EMS要早於XMS,早期的電腦記憶體都較小,遠遠滿足不了大型軟體的運行需要,所以必須通過加插板卡以增加記憶體,而隨著主板、記憶體等的製造成本的下降,XMS也逐漸取代了EMS,但為了適應早期一些應用程式必須使用EMS的需要(比如以前KOEI出的三國志系列),MS_DOS提供了通過EMM386. EXEGO來利用XMS模擬EMS的的功能。
常規記憶體始於0KB,結束於640KB,如果沒有使用一些記憶體管理程式的話(在MS_DOS下面,除了HIMEM.SYS、EMM386.EXE之外還有Quarterdeck的QEMM和Qualitas的386MAX等),那麼常規記憶體就是你所能使用的唯一的一種記憶體,常規記憶體將被DOS及設備驅動程式和TSR(記憶體常駐程式)所佔用。TSR是裝入電腦記憶體並駐留在那裏面的一種程式,而一般的程式往往在使用完畢之後把佔用的記憶體返還給作業系統。
上位記憶體(UMB,UPPER MEMORY BLOCKS),指640KB到1024KB之間的記憶體,通常此區域被褚如系統ROM、視頻之類所使用。但大多數的電腦的硬體並不使用整個上位記憶體區,當我們使用了像EMM386這樣的記憶體管理管理程式之後,就可以把一些TSR程式移到這此記憶體區。
高端記憶體(HMA,HIGH MEMORY AREA),是1MB記憶體以上的64KB連續記憶體空間,它屬於擴展記憶體。換句話說就是指擴展記憶體的前64K部分。這是記憶體的一個特殊區域,通常用來將DOS裝入高端記憶體區域內。
DOS批次檔其它命令
CALL:從一個批文件中調用另一個批文件,調用完后繼續執行原來的批文件。
用法:CALL [批文件名]
注:也可以使用COMMAND /C命令完成同樣的操作。
CHOICE:選擇命令。這是一個DOS外部命令,但它主要用在批文件中。
CHOICE命令執行后將提示可選擇的項目,這時通過一個按鍵來選則。
用法:CHOICE:[/C[:]按鍵表] [/N] [/S] [/T[:]選擇值,秒數] [顯示文本]
其中,/C表示可選則的按鍵,/N表示不要顯示提示信息,/S表示大小寫字符敏感方式,/T表示若在批定的時間內沒有選則的話,自動執行/C中定義的某個選擇值。顯示文本是CHOICE命令執行時的提示信息。選擇結果將用ERRORLEVEL值來表示。
ECHO:顯示指定的信息。通常顯示在屏幕上。
如ECHO Hello將在屏幕上顯示Hello的字樣。
另外,ECHO ON|OFF用來設置在批文件執行時是否顯示命令本身。而ECHO OFF與@的意思一樣,但它是一個單獨的命令,而不能像@那樣放在其它命令之前。
FOR:對于指定的文件運行相應的命令。
大家知道,DOS下許多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,並非所有的DOS命令都支持通配符,如TYPE(文件內容顯示命令)就不支持。有了FOR命令就沒有關系了,利于它可以使TYPE命令可以一次顯示多個文件。
用法:FOR %變量名 IN (文件集) DO 命令 [命令參數]
注:以上是FOR命令的固定形式,IN和DO的位置必須正确,否則將提示語法錯誤。
如FOR %F IN (*.*) DO TYPE %F命令就可以實現TYPE命令一次顯示多個文件。
注:%F是變量名,也可用%G等代替,但前后必須一致。在批文件中用%%F代替。
IF:條件判斷命令。這是一項很有用的批處理命令。
用法1:IF [NOT] EXIST 文件名 命令 [命令參數]
意義:如果[不]存在某個文件將執行某個命令。
用法2:IF [NOT] ERRORLEVEL 錯誤返回代號 命令 [命令參數]
意義:如果錯誤返回代號[不]大于或等于指定的代號將執行某個命令。
其中,ERRORLEVEL表示錯誤返回代號,很有用。對于很多DOS命令,由于執行的結果不同(如執行成功,執行失敗,或被用戶中斷等),這些命令會返回不同的代號,以表示不同的結果。IF ERRORLEVEL命令就根据這個不同結果而產生的不同代號來執行不同的命令,通常用在某條命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果當前的錯誤返回代號大于或等于1時將在屏幕上顯示“OK!”的字樣。
用法3:IF [NOT] 字符串1==字符串2 命令 [命令參數]
意義:當字符串1和字符串2[不]相等的時候執行某個命令。
PAUSE:暫停批文件的執行,並顯示“按任意鍵繼續”的字樣。
SHIFT:在批文件中改變可替換參數的位置。
可替換參數是一種特殊的參數,只能用在批文件中。這些參數是由使用者在執行批處理命令時輸入的。比如,我們執行DIR /S /W命令,其中DIR是命令名,/S和/W是它的執行參數。在批文件中,這些命令參數將被分別賦予到可替換參數中,如/S就成的%1,/W就可了%2,以至類推,而命令本身則被賦予%0中。批文件就是利用可替換參數對執行時輸入的參數來進行操作的。比如現在有個批處理文件叫MYFILE.BAT,在命令行下執行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判斷出%1等參數的值,然后根据這些值的不同執行不同的操作,如IF "%1"=="YES" GOTO YES。
SHIFT命令不帶任何參數,執行結果是將%0的值換成原%1的值,而原%1的值變成的原%2的值,以此類推。注意它的不可逆轉性。因為批處理文件執行時的運行參數可能很多,可能會超過10個,而可替換參數只能從%0到%9,若想取得%9以后的參數值,只能使用SHIFT命令。這時,整個參數列將向前推。
沒有留言:
張貼留言