DOS啟動盤之CONFIG.SYS配置詳解
一些在config.sys中經(jīng)常用到的配置項目如下:
1、FILES=數(shù)字
表示可同時打開的文件數(shù),一般可選擇20到50,需要注意的是,如果把FILES的值設(shè)得過大會占用過多的基本內(nèi)存。系統(tǒng)缺省為FILES=8。
2、BUFFERS=數(shù)字
表示設(shè)置磁盤緩沖區(qū)的數(shù)目,通常設(shè)置為20-30左右。缺省值一般為15。磁盤緩沖區(qū)是一塊內(nèi)存區(qū),用于存儲從磁盤讀入的數(shù)據(jù)或存儲寫到磁盤的數(shù)據(jù)?! ?/p>
3、DEVICE和DEVICEHIGH
用于加載一些內(nèi)存駐留程序,用于管理設(shè)備。比如內(nèi)存管理程序和光驅(qū)驅(qū)動程序等。如:
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DEVICEHIGH=C:\CDROM\CDROM.SYS
DEVICEHIGH與DEVICE的不同是前者將程序加載入高端內(nèi)存。
4、HIMEM.SYS和EMM386.EXE
DOS只能直接使用640KB的內(nèi)存,即基本內(nèi)存,必須依靠其他內(nèi)存管理程序來使用更多的內(nèi)存,這兩條命令就是最常用的內(nèi)存管理程序。
其中640KB到1MB之間的內(nèi)存被稱為高端內(nèi)存,是系統(tǒng)保留使用的。1MB以上的內(nèi)存成為擴展內(nèi)存,HIMEM.SYS就是負(fù)責(zé)管理擴展內(nèi)存并建立高端內(nèi)存的,使DOS可以將自己裝入其中。HMA是擴展內(nèi)存的頭64K內(nèi)存(實際上比64K少16K,但是人們習(xí)慣上說是64K),80286以上的電腦要使用HMA,須將CPU的A20地址線打開,這個過程已經(jīng)由HIMEM代勞。
語法:DEVICE=HIMEM.SYS (一般不帶參數(shù)加載,如果你確認(rèn)內(nèi)存沒有錯誤的話,也可以帶上/TESTMEM:OFF來跳過內(nèi)存檢測)。
因此為了使用更多的內(nèi)存,配置文件中應(yīng)有以下指令。
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
需要注意的是:EMM386.EXE必須要求先安裝HIMEM.SYS,因而必須確保安裝HIMEM.SYS的配置命令在EMM386.EXE之前。
5、DOS=HIGH,UMB
一般情況下,需要CONFIG.SYS文件加入這條命令,這樣會將DOS的系統(tǒng)文件移入高端內(nèi)存,空出更多的基本內(nèi)存給其他軟件使用。需要注意的是,如果沒有安裝EMM386.EXE,UMB,那么這條指令將是無效的。
關(guān)信息的數(shù)據(jù)結(jié)構(gòu)。命令格式為FCBS=n,n為DOS能打開的文件控制塊數(shù),范圍1-255,缺省值4。當(dāng)一個應(yīng)用程序使用FCBS命令且試圖打開多于n個FCBS時,DOS可能關(guān)閉以前打開的文件。由于現(xiàn)在許多DOS程序不使用文件控制塊,所以為了節(jié)省空間可將FCBS設(shè)置為1。
如果用戶使用NOVELL網(wǎng)絡(luò),網(wǎng)絡(luò)會自動將網(wǎng)絡(luò)驅(qū)動器設(shè)置為系統(tǒng)邏輯驅(qū)動器的后續(xù)驅(qū)動器的字母。
下是一個典型的CONFIG.SYS文件內(nèi)容:
DEVICE=C:\DOS\HIMEM.SYS ?。虞dhimem,擴展內(nèi)存管理器)
DEVICE=C:\DOS\EMM386.EXE NOEMS (創(chuàng)建上位內(nèi)存以影子內(nèi)存的形式并入擴展內(nèi)存,不模擬擴充內(nèi)存;如果參數(shù)為RAM,則表示用擴展內(nèi)存來模擬擴充內(nèi)存,并允許將擴展內(nèi)存用作上位內(nèi)存加載程序或驅(qū)動。)
BUFFERS=15,0 (緩沖區(qū)數(shù)目)
FILES=50 (同時打開的文件數(shù))
DOS=UMB ?。ㄏ到y(tǒng)把DOS本身放在什么地方)
LASTDRIVE=Z ?。?qū)動器盤符最大可以用大哪個)
DOS=HIGH
DEVICEHIGH=C:\DOS\ATAPI_CD.SYS /D:MSCD000 /I:0 ?。虞d光驅(qū)驅(qū)動程序。)
STACKS=9,256
此外,在CONFIG中還可以配置菜單式多重任務(wù)選擇的配置,用于不同任務(wù)的選擇,比如玩游戲、設(shè)置虛擬磁盤等,不過在這些應(yīng)用在目前已經(jīng)不常用了,這里就不多做介紹了。
有了config.sys以后,大部分的環(huán)境都能設(shè)置好,但是某些時候還是需要autoexec.bat來協(xié)作完成系統(tǒng)設(shè)備的加載,比如光驅(qū)。另外,有寫設(shè)備直接使用命令來驅(qū)動的,就最好在autoexec.bat中執(zhí)行來直接驅(qū)動,比如鼠標(biāo)。
下面是一個典型的autoexec.bat:
關(guān)于AUTOEXEC.BAT
電腦每次啟動時都會自動尋找AUTOEXEC.BAT批處理文件,從而可執(zhí)行一些每次開機都要執(zhí)行的命令,比如設(shè)置路徑PATH、加載鼠標(biāo)驅(qū)動MOUSE、磁盤加速SMARTDRV等。
下面給出一個比較典型的AUTOEXEC.BAT文件:
@ECHO OFF '不顯示命令行
'設(shè)置提示符前有目錄提示
PROMPT &P& G
PATH C:\DOS;C:\;C:\WINDOWS; C:\TOOLS '設(shè)置文件查找路徑
LH C:\MOUSE\MOUSE.COM
'加載鼠標(biāo)驅(qū)動程序
LH C:\DOS\SMARTDRV.EXE
'加載磁盤加速管理
LH C:\DOS\MSCDEX /S /D:MSCD000/M:12 /V '加載CD-ROM驅(qū)動
'設(shè)置臨時目錄
SET TEMP=C:\TEMP
如果需要啟動中文系統(tǒng),也可以把中文系統(tǒng)的啟動命令加入其中,自然啟動以后就是中文的dos了。
通過config.sys,autoexec.bat兩個文件配合,完成絕大多數(shù)情況下DOS系統(tǒng)環(huán)境的配置
一、CONFIG.SYS的多重配置
CONFIG.SYS內(nèi)的命令可以編成幾個配置塊(簡稱塊BLOCK),用戶可以以在屏幕菜單上點菜的形式,來選擇本次開機需要的系統(tǒng)配置。
(一)MENU塊
MENU塊的命令有5種,分別為MENUITEM、MENUDEFAULT、MENUCOLOR、SUBMENU以及常用相關(guān)命令I(lǐng)NCLUDE。
①menuitem命令
語法:menuitem=塊名稱[,菜單正文]
當(dāng)menuitem命令只有塊名稱,而沒注明菜單正文時,會將塊名稱作為菜單正文顯示于屏幕;如果同時包含塊名稱與菜單正文時,會將菜單正文顯示到屏幕,而不是顯示塊名稱。
菜單正文最多可以有70個字符,一條menuitem命令可以表示菜單中的一個塊名稱,menu塊最多只能有9條menuitem命令。
②menudefault命令
語法:menudefault=塊名稱[,時限]
本命令表示當(dāng)菜單出現(xiàn)后,如果用戶未于限定的時間內(nèi)選擇某個塊,則系統(tǒng)會默認(rèn)選擇menudefault指定的塊名稱。
時限為0-90秒,采取倒計時方式。
③menucolor命令
語法:menucolor=X[,Y]
用戶用于設(shè)置屏幕顏色。默認(rèn)為黑底白字顯示。
其中:參數(shù)X為正文顏色,Y為背景顏色。
X、Y對應(yīng)顏色如下:
0 黑色(black)
1 藍(lán)色(blue)
2 綠色(green)
3 青藍(lán)色(cyan)
4 紅色(red)
5 紫色(purple)
6 棕褐色(brown)
7 白色(white)
8 灰色(grey)
9 淺藍(lán)色(light blue)
10 淺綠色(light green)
11 淺青藍(lán)色(light cyan)
12 淺紅色(light red)
13 淺紫色(light purple)
14 黃色(yellow)
15 淺白色(light white)
④submenu命令
語法:submenu=塊名稱[,菜單正文]
設(shè)置二級菜單命令,類似于menuitem命令。只可用于CONFIG.SYS的menu塊。用戶選擇submenu指定的塊時,系統(tǒng)視該塊為下一級的menu塊,且由其產(chǎn)生下一級菜單。該塊名稱為除menu以外的其它任何塊名稱,其可用命令與menu塊的五種命令一樣。
⑤include命令
語法:include=塊名稱
將include命令所指定的塊包含到當(dāng)前塊中。實現(xiàn)了塊間的共享,可簡化CONFIG.SYS文件內(nèi)容。
二COMMON塊
common塊為公共塊。該塊中的命令無論用戶如何選擇均被執(zhí)行。同一個CONFIG.SYS文件內(nèi),如擁有多個common塊,系統(tǒng)會根據(jù)其先后順序,連續(xù)執(zhí)行。
三.AUTOEXEC.BAT的多重配置
當(dāng)MS-DOS執(zhí)行了CONFIG.SYS的多重配置時,系統(tǒng)會將用戶所選擇的塊名賦于環(huán)境變量CONFIG.SYS,以便在AUTOEXEC.BAT中根據(jù)所選配置塊來執(zhí)行相應(yīng)的命令。
環(huán)境變量在自動批處理文件AUTOEXEC.BAT中的用法:
goto %config%
如:用戶選擇ucdos配置塊,則環(huán)境變量config=ucdos,goto %config%表示自動批處理跳到標(biāo)號為ucdos處執(zhí)行。
在各個塊將分別執(zhí)行的命令最后面,附加goto end命令。
在AUTOEXEC.BAT結(jié)尾部分附加end標(biāo)號(:END)。如果END下方仍有命令,這些命令將被所有塊執(zhí)行。
舉例
(1)CONFIG.SYS
[menu]
menuitem=ucdos,ucdos 3.1
menucolor=7,1
menudefault=ucdos,30
numlock=on
submenu=game,play game
[common]
buffers=30
files=30
[game]
menuitem=san4
menuitem=koei
[san4]
device=c:\dos\himem.sys
device=c:\dos\setver.exe
device=c:\dos\emm386.exe ram
device=c:\dos\mouse.sys
[koei]
include=san4 調(diào)用san4塊的全部配置
dos=high
[ucdos]
device=c:\dos\himem.sys
dos=high
[common]
(2)AUTOEXEC.BAT
@echo off
prompt $p$g
goto %config% 引用環(huán)境變量CONFIG
:ucdos
path c:\dos;c:\ucdos;c:\cced
c:\ucdos\rd16 %1
c:\ucdos\knl %2
c:\ucdos\py
goto end
:san4
cd\san4
san4
goto end
:koei
cd\koei
play
goto end
:end
c:\dos\doskey
echo on
多重配置的啟動文件編寫
先編多重配置的config.sys文件。假如機器的原config.sys文件是:(右面中文為解釋)
DEVICE=C:\DOS\HIMEM.SYS (加載擴展內(nèi)存訪問管理程序)
DEVICE=C:\DOS\EMM386.EXE RAM (加載擴充內(nèi)存管理程序)
BUFFERS=30,4 (設(shè)置緩沖區(qū),依內(nèi)存大小而定,一般設(shè)為30)
FILES=30 (設(shè)置允許同時打開的文件的最大數(shù))
DOS=UMB,HIGH (將DOS加載到上位內(nèi)存或高端內(nèi)存)
DEVICEHIGH/L:1,13920=C:\ECS\ECSCDAT.SYS/D:ECSCD001
(加載光驅(qū)的驅(qū)動程序)
SHELL=C:\DOS\COMMAND.COM C:/P (指定DOS外殼)
STACKS=9,256 (設(shè)置堆棧數(shù))
下面以這個config.sys文件為基礎(chǔ),編輯一個多重配置的config.sys文件?;舅悸肥窍染幰粋€菜單,菜單的項目你需要幾項就可以編幾項,然后再根據(jù)各個項目需要的配置逐項編配(簡便的方法是以原config.sys文件為基礎(chǔ),整段整句進(jìn)行選編),基本格式是菜單名下面為菜單項,每一內(nèi)容為一行,段與段之間空一行。為了讓初學(xué)者更為明了,本例采用常用的幾個系統(tǒng)作為例子。(后面中文為解釋)
[menu] [菜單]
menuitem=DOS,The configuration for DOS
菜單項名DOS,為DOS配置
menuitem=Win,The configuration for WINDOWS
菜單項名WIN,為WINDOWS配置
menuitem=UCDOS,The configuration for UCDOS
菜單項名UCDOS,為UCDOS配置
submenu=YX,Da,Xiao,The configuration for YX
子菜單名游戲,大,小,為游戲配置
menudefault=Win,10 默認(rèn)菜單
Win,等待時間10秒(自定)
空一行
[common] [公用命令]
BUFFERS=30,4
FILES=30
FCBS=4,0
SHELL=C:\DOS\COMMAND.COM C:/P
STACKS=9,256
空一行
[DOS] DOS菜單項內(nèi)容
DEVICE=C:\DOS\HIMEM.SYS 使用DOS時的配置
DEVICE=C:\DOS\EMM386.EXE RAM
DEVICEHIGH/L:1,13920=C:ECS\ECSCDAT.SYS/D:ECSCD001 (加載光驅(qū))
[Win] Win菜單項內(nèi)容
DEVICE=C:\DOS\HIMEM.SYS 使用Windows的配置
DEVICE=C:\DOS\EMM386.EXE noems
(因為Windows可直接管理擴充內(nèi)存,故設(shè)noems)
DEVICEHGH /L:1,13920=C:\ECS\ECSCDAT.SYS/D:ECSCD001 (加載光驅(qū))
[UCDOS]
UCDOS菜單項內(nèi)容(使用UCDOS時的配置,由于UCDOS可以自己配置內(nèi)存環(huán)境,故可設(shè)可不設(shè))
(空一行)
[YX] 游戲菜單項內(nèi)容 下面還有子菜單
menuitem Da,The configuration for DA YX
子菜單項名Da,為大游戲配置
menuitem Xiao,The configuration for Xiao yx
子菜單項為Xiao,為小游戲配置
menudefault Xiao,8 默認(rèn)子菜單,Xiao,等待8秒
[Da] 為大游戲配置
DEVICE=C:\DOS\HIMEM.SYS
DEVICEHIGH/L:1,13920=C:\ECS\ECSCDAT.SYS/D:ECSCD001
空一行
[Xiao] 為小游戲設(shè)置
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DEVICEHIGH /L:1,13920=C:\ECS\ECSCDAT.SYS/D:ECSCD001 (完)
由上可知,多重配置的config.sys實際就是將多個config.sys并列在一起,而這些config.sys實際上是由一個config.sys演變出來的,且又是緊緊圍繞如何對內(nèi)存進(jìn)行配置的。只不過前面編了一個可選的菜單,而后面的則是為了少用文字,將各項的共同部分提了出來作為一小段共同命令ap[common],其它略有不同的才做了分別編配,需注意的是,“菜單”和“菜單項”必須用固定語句[menu]和“menuitem”,公共命令也須用固定語句[common],否則機器會不認(rèn)識。菜單項目名字可以自取,以直觀為好,需用方括符括上,菜單項可多可少,也可不用子菜單項,視具體要求而定。
接下來再編輯與之相對應(yīng)的Autoexec.bat文件。即如果在Config.sys中選擇了某項,則Autoexec.bat也只執(zhí)行對應(yīng)項的內(nèi)容。假如機器的原Autoexec.bat文件是:
@ECHO OFF (加載過程顯開關(guān))
C:\WINDOWS\ESSCFG.EXE /I:7 /D:1 (載入聲卡驅(qū)動程序)
C:\WINDOWS\ESSVOL.EXE /V:8 /L:8/W:8 /M:0 /C:8 /S:8
(載入音響圖形界面)
LH C:\DOS\AMOUSE\AMOUSE /2 (裝入鼠標(biāo))
LH /L:0;1,46992 /S C:\WINDOWS\SMARTDRV.EXE 1024 512 /Q
(裝入磁盤加速驅(qū)動程序)
LH /L:1,36224 C:\ECS\MSCDEX /V/D:ECSCD001 /M:10
(裝入光驅(qū)管理程序)
PATH C:\DOS;C:\WINDOWS;C:\UCDOS;C:\YLDICT
(指定查找文件的路徑及次序)
SET TEMP=C:\TEMP (指定臨時文件放置的位置)
下面以這個Autoexec.bat文件為基礎(chǔ),編一個與config.sys相對應(yīng)的多重Autoexec.bat文件。(第一段依然為共同內(nèi)容)
@ECHO OFF
PATH C:\DOS;C:\WINDOWS;C:\WIN31;C:\UCDOS;C:\YLDICT
SET TEMP=C:\TEMP
GOTO%config% (此句為固定語句,意為轉(zhuǎn)到config.sys對應(yīng)的:項上)
:DOS
(如果選擇了DOS,DOS加載的內(nèi)容如下。注意前面的冒號:一定不能忽略)
C:\WINDOWS\ESSCFG.EXE/I:7 /D:1
C:\WINDOWS\ESSVOL.EXE/V:8/L:8/W:8/M:0/C:8/S:8
LH C:\DOS\AMOUSE\AMOUSE/2
LH /L:O;1,46992/S C:\DOS\SMARTDRV.EXE 2048 512 /Q
GOTO END (此句也為固定語句,意為運行到此結(jié)束)
:Win (同上)
C:\WINDOWS\ESSCFG.EXE/I:7 /D:1
C:\WINDOWS\ESSVOL.EXE/V:8/L:8/W:8/M:0/C:8/S:8
rem /L:O;1,46992 /S C:\WINDOWS\SMARTDRV.EXE 1024 512/Q
LH/L:1,36224 C:\ECS\MSCDEX/V/D:ECSCD001 /M:10
GOTO END (此句也為固定語句,即運行到此結(jié)束)
:UCDOS (如果選擇進(jìn)入UCDOS,即執(zhí)行:UCDOS的內(nèi)容。)
LH C:\DOS\AMOUSE\AMOUSE/2
Call UCDOS (呼出UCDOS批處理命令)
GOTO END
:Da (如果希望玩大游戲,選擇YX后再選擇此即可)
C:\WINDOWS\ESSCFG.EXE/I:7/D:1
C:\WINDOWS\ESSVOL.EXE/V:8/L:8/W:8/M:0/C:8/S:8
LH/L:1,36224 C:\ECS\MSCDEX/V/D:ECSCD001 /M:10
LH C:\DOS\AMOUSE\AMOUSE/2
GOTO END
空一行
:Xiao (如果只是玩小游戲,選擇YX后再選擇此即可)
C:\WINDOWS\ESSCFG.EXE /I:7 /D:1
C:\WINDOWS\ESSVOL.EXE /V:8/L:8/W:8/M:0/C:8/S:8
LH/L:1,36224 C:\ECS\MSCDEX/V /D:ECSCD001 /M:10
LH/L:0;1,46992 /s C:\DOS\SMART DRV.EXE 1024/Q
LH C:\DOS\AMOUSE\AMOUSE/2
GOTO END
:END (此句也為固定語句,即到此全部結(jié)束)
由此可見,多重配置的config.sys和Autoexec.bat是一一對應(yīng)的,只要明白了其中幾個固定語句的意義以及基本格式就很容易編制這兩個文件。文件編好后重新啟動機器,會出現(xiàn)4個菜單供你選擇。
1.The configuration for DOS
2.The configuration for WINDOWS
3.The configuration for UCDOS
4.The configation for YX
menudfault Win,10
機器同時以10秒為限倒計時,倘若你10秒鐘未作出選擇,機器將自動進(jìn)入到默認(rèn)的系統(tǒng)中。(此例默認(rèn)為Windows)
上例配置較為簡單,主要是授以原則和方法,也可以把其作為一公式。待你對內(nèi)存管理和文件運行的環(huán)境有了一定的運用能力后,還可以編制得更精細(xì)一些。
我見到很多網(wǎng)戰(zhàn)都有做DOS超酷啟動盤……可不知道怎么做的~自己也很想做一個。。。昨天看見狼上線!2話不說……抄家伙~呵呵
教了我一個晚上才教會……大概因為我比較笨吧~現(xiàn)在拿來和大家分享一下
我還是先把我做的批處理寫一下吧~
@echo off
PROMPT $P$G$G$G$G
:main
echo MENU
echo 1.ghost
echo 2.diskgen
echo 3.sfdisk
echo 4.other
echo 5.exit
choice /c:12345 Please Select...
if errorlevel 5 goto End
if errorlevel 4 goto other
if errorlevel 3 goto sfdisk
if errorlevel 2 goto diskgen
if errorlevel 1 goto ghost
:ghost
cls
ghost
goto main
:diskgen
cls
diskgen
goto main
:sfdisk
cls
sfdisk
goto main
:dir
cls
dir
goto main
:ver
cls
echo Ver:1.0 author:seadogs
goto main
:other
cls
echo submenu2
echo 1.about
echo 2.A filelist
echo 3.startmain
choice /c:123 Please Select...
if errorlevel 3 goto main
if errorlevel 2 goto dir
if errorlevel 1 goto ver
:End
下面我開始解釋了~最基本的是ECHO……這是個內(nèi)部命令,可以在DOS提示符下查看幫助
ECHO OFF是不顯示下面的東西~自己去試試就知道了。。。但是對你操作的結(jié)果他不會影響~而且直接用ECHO顯示的東西他不會隱藏掉。。。這個東西自己試一下就知道了~~想當(dāng)初我也是自己試的
如果直接使用ECHO之后空格跟一些東西的話他就會顯示你后面所輸入的東西
@——為什么要加@呢?@是做單行隱藏的~和ECHO的效果不同……
你可以先試試辦ECHO OFF
之后再試試辦@ECHO OFF
后者連ECHO OFF都不會顯示~~
下面是PROMPT $P$G$G$G$G這一句
這句也是個DOS命令,可以在DOS提示符上鍵入PROMPT /?來查看幫助
PROMPT的作用就是可以改變提示符的樣子
$P代表當(dāng)前路徑~~$G就代表>符
連起來就是當(dāng)前路徑后面增加4個>
如:在C盤下的話就是C:\>>>>
更多的用法大家可以查看幫助~很酷的
:main是什么意思呢?好象有好多帶:號的
是的帶:的表示關(guān)鍵字!因為后面就要使用GOTO語句
那就先解釋一下GOTO語句吧
學(xué)過編程的朋友都應(yīng)該知道這個語句。。。GOTO的意思顧名思義~~就是到一個什么什么的位置
GOTO的用法大家也可以查看幫助得到~和上面的一樣~都是DOS命令
GOTO需要通過關(guān)鍵字來確定程序?qū)⒁侥抢?br>而:就是關(guān)鍵字的表示符
如: :mian
那關(guān)鍵字就是main了
在調(diào)用的時候就使用goto main就可以了~是不是很簡單
接下來看到的是:
echo MENU
echo 1.ghost
echo 2.diskgen
echo 3.sfdisk
echo 4.other
echo 5.exit
這5行用于顯示
在DOS下就會看到這個菜單了
choice /c:12345 Please Select...
if errorlevel 5 goto End
if errorlevel 4 goto kkk
if errorlevel 3 goto sfdisk
if errorlevel 2 goto diskgen
if errorlevel 1 goto ghost
這里是這個批處理的精華的地方了~~他用到了choice這個命令
大家可以看看字典~choice是選擇的意思
同樣~這個詞也可以在DOS下很方便的查看幫助
/C后面跟的就是指定只能輸入的字符
Please Select...是提示信息~也就是請選擇1、2、3、4、5其中的一個
注意:這是不按1、2、3、4、5或中止批處理的話是不能繼續(xù)下去的
大家可以試試~一試你就明白了
if errorlevel 5 goto End
解釋一下這一句……意思就是如果按下了5就跳到END關(guān)鍵字處
看一下整個批處理就知道了~END在最后~跳到那里程序就會結(jié)束了
其他的都一樣,這是if errorlevel配合GOTO的~
if errorlevel也可以配合別的語句。。。如:if errorlevel 5 goto echo 12345
這樣的話在選擇5之后就會顯示12345之后繼續(xù)執(zhí)行下面的東西
最后是CLS命令
這個很簡單的了~也是一個命令……可以在幫助中找到你要找的!
他是一個清屏命令運行之后你現(xiàn)在屏幕上的信息將會清空
好了~基本說完了……再串一下
本批處理的作用大概效果是這樣的
運行批處理會出現(xiàn)菜單
MENU
1.ghost
2.diskgen
3.sfdisk
4.other
5.exit
Please Select...[1、2、3、4、5]?
下面進(jìn)行選擇……如果選擇1就會運行GHOT
2是DISKGEN
3是SFDISK
4是OTHER
5是退出
很簡單的……當(dāng)然~這些軟件都要在同路徑下面
當(dāng)按下1時會執(zhí)行GHOST關(guān)鍵字里的東西
:ghost
cls
ghost
goto main
也就是清除屏幕上的東西……之后運行GHOST
等你退出GHOST的時候他會跳回MAIN選單
因為最后一句是goto main
我在最開始的時候加了這么一個關(guān)鍵字
其他4項都一樣的~只有other選項不太一樣……other還有下一級菜單(其實差不多了啦)
:other
cls
echo submenu2
echo 1.about
echo 2.A filelist
echo 3.startmain
choice /c:123 Please Select...
if errorlevel 3 goto main
if errorlevel 2 goto dir
if errorlevel 1 goto ver
和主菜單差不多
先清屏……之后顯示選項……之后選擇
為什么if errorlevel 1 goto ver這句不用
if errorlevel 1 echo Ver:1.0 author:seadogs呢?
因為這樣就不能返回主菜單了
要注意的是選擇選項的指向要從后往前寫……問我為什么?我也問過狼……答案是規(guī)定~哈哈
if errorlevel這個東西……只能跟一句~~所以不能象這么使用
if errorlevel 1 echo Ver:1.0 author:seadogs
GOTO MAIN
還要注意一點就是這寫關(guān)鍵字下的一個個小程序要寫在需要選擇程序的前面……否則的話要用GOTO對他做出指向!否則的話他會把下面的東西全部運行一次……不信你就試試~哈
可是你會問了~~這樣只能做成一個批處理……如何和啟動盤聯(lián)系起來呢?
其實很簡單的了~~你先把這個做出來的批處理改名為Autoexec.bat
之后做一張啟動盤……把這個文件考上去就可以了~不信你自己試試
當(dāng)然……還要把你需要用到的軟件一起考上去
是不是很酷呢?
可是你會發(fā)現(xiàn)這個菜單不能象啟動多系統(tǒng)時候的選擇菜單一樣。。。不能進(jìn)行那種選擇之后按回車的操作
那些啟動盤倒底是怎么做的呢?
他用到了配置文件CONFIG。SYS
下面我繼續(xù)針對這個來給大家講一下
還是先找個例子吧:
這是狼在給我講的時候做了個這么個CONFIG.SYS文件來讓我理解CONFIG中各菜單的意義
疾風(fēng)之狼:
不太清楚你要做哪種多級選單,啟動時多層選單是由Config.sys來建立的,一個例子
[menu]
menuitem=menu1
menuitem=menu2
submenu=sub
[menu1]
[menu2]
[sub]
menuitem=sub-1
menuitem=sub-2
[sub-1]
[sub-2]
以此方法可以建立更多級的菜單,配合Autoexec.bat中的goto %config%來執(zhí)行不同的程序。
很簡單……大體上就是幾個菜單而已
[Menu]你啟動的時候會顯示的菜單了……
MENUITEM代表一般選項
還有個SUBMENU,就是帶子菜單的選項了!
這個CONFIG.SYS中的這種菜單形式和上面的GOTO很象
前面是關(guān)鍵字……后面是指向
如:
[menu]
menuitem=menu1
menuitem=menu2
submenu=sub
這樣的話就會顯示3個菜單
menu1
menu2
sub
大家可以現(xiàn)在試試……為什么提示英文錯誤呢?那是因為你沒有做指向呢
[menu1]
[menu2]
[sub]
這里大家就理解為指向吧
這個的作用和GOTO里的關(guān)鍵字一樣~~讓程序能夠找到選單所對應(yīng)的項目
大家去做這么一個菜單就能很好的理解了……在哪里試呢?去把你C盤的CONFIG.SYS拿來試試咯。。。實在不行就做個98啟動盤~之后建這么一個配置文件
上面的例子在選擇優(yōu)錄取
menu1
menu2時不會有任何反映
選擇sub的時候選會變成選項
sub-1
sub-2
當(dāng)然……選擇了也沒反映~因為我們還沒做配置
菜單到這里我想大家應(yīng)該理解得差不多了~下面我們看一個叫超酷備份還原啟動工具盤的CONFIG.sys文件:
[MENU]
MENUITEM=SFDISK,SFDISK
MENUITEM=CDROM,Start Cdrom
MENUITEM=GHOST-BAK,BACKUP SYSTEM
MENUITEM=GHOST-FIX,FIX SYSTEM
MENUITEM=SYS-C,SYS C:
MENUITEM=HDFIX,HDFIX
MENUITEM=README,README
[SFDISK]
[CDROM]
device=himem.sys /TESTMEM:OFF
dos=high,umb
files=40
lastdrive=m
device=oakcdrom.sys /D:MSCD000
[GHOST-FIX]
[GHOST-BAK]
[HDFIX]
[README]
看到了吧~其實比我們看的那個還簡單呢。。。因為沒有子菜單啊~
里面的東西看不懂沒關(guān)系~框架出來了就可以了
效果是這樣的一個選擇菜單
SFDISK,SFDISK
CDROM,Start Cdrom
GHOST-BAK,BACKUP SYSTEM
GHOST-FIX,FIX SYSTEM
SYS-C,SYS C:
HDFIX,HDFIX
README,README
他幾乎沒做什么配置……發(fā)現(xiàn)了沒?
只有[CDROM]下面有些東西而已
那他是不是選擇了之后沒有效果呢?是的!
注意上面狼還有這么一句:
以此方法可以建立更多級的菜單,配合Autoexec.bat中的goto %config%來執(zhí)行不同的程序。
GOTO大家都知道了~Autoexec.bat也知道了吧~(他在啟動的時候運行在CONFIG.SYS之后)
那我們先放著CD-ROM不管去看看他的Autoexec.bat吧!
超酷備份還原啟動工具盤的Autoexec.bat中的內(nèi)容如下:
@ECHO OFF
PROMPT $P$G
PATH A:\;C:\
set temp=c:\
set tmp=c:\
GOTO %CONFIG%
:SFDISK
SFDISK
GOTO END
:CDROM
MSCDEX /D:MSCD000 /K
SMARTDRV
GOTO END
:GHOST-FIX
GHOST -clone,mode=pload,src=e:\sys\winbak.gho:1,dst=1:1 -SURE
GOTO END
:GHOST-BAK
MD E:\SYS
GHOST -clone,mode=pdump,src=1:1,dst=e:\sys\winbak.gho -z1
ATTRIB +r +s +h e:\sys
GOTO END
:SYS-C
SYS C:
GOTO END
:HDFIX
HDFIX
GOTO END
:README
README
GOTO END
:END
大家基本上看的懂吧~~只是有幾點不明白而已
GHOST-FIX和GHOST-BAK里面的參數(shù)請參考GHOST參數(shù)大全之類的東西~在這里不做重點講
set temp=c:\
set tmp=c:\
作用是把C盤暫時作為臨時文件存放的地方
幾乎全都看的懂吧!只差CD-ROM
還一句就是GOTO %CONFIG%了吧
GOTO %CONFIG%是什么呢?
注意上面狼有這么一句:
以此方法可以建立更多級的菜單,配合Autoexec.bat中的goto %config%來執(zhí)行不同的程序。
%config%是個變量!來存放你所選擇的菜單(注意!不是顯示出來的選項!而是你剛才所指向的那個選項)
如上面的SYS-C
CONFIG.sys里有這么2句
MENUITEM=SYS-C,SYS C:
[SYS-C]
MENUITEM=后面跟的就是啟動時候顯示的選項!而[SYS-C]括號里的SYS-C才是真正“選中”的東西!
而這個SYS-C也就是你選擇后存放在%config%這個變量里的東西!
大家不需要理解的多么完全……知道這么用就可以了
總之在Autoexec.bat中的goto %config%是運行選擇的項目
而且Autoexec.bat中GOTO的關(guān)鍵字要對應(yīng)%config%中的[]里的東西!
現(xiàn)在光驅(qū)的那一部分大家可以不試……其他的大家可以做一做~是不是很酷呢?別忘了把會用到的軟件拷到啟動盤里哦!
光驅(qū)的那一部分是讓光驅(qū)可以在DOS下運行
跟開機加載光驅(qū)是一個效果
[CDROM]
device=himem.sys /TESTMEM:OFF
dos=high,umb
files=40
lastdrive=m
device=oakcdrom.sys /D:MSCD000
:CDROM
MSCDEX /D:MSCD000 /K
SMARTDRV
GOTO END
這里我也理解的不是很透~大家知道怎么用就可以了~
:CDROM關(guān)鍵字下的MSCDEX /D:MSCD000 /K里面的/D:MSCD000要和CONFIG.sys中的[CDROM]里的device=oakcdrom.sys /D:MSCD000的/D:MSCD000對應(yīng)!數(shù)值是可以改的!但不能不一樣……
再就是加載內(nèi)存管理、DOS加載到高端內(nèi)存、磁盤高速緩存什么的~大家知道怎么用就可以了
做完了沒?自己去試試~是不是很爽呢?
DOS中對EXE的調(diào)用直接寫文件名就可以了~
對批處理用CALL 文件名.bat
對.COM好象也是用CALL……
懶的試了……大家自己爽吧!
前者的優(yōu)點是靈活性好!看著效果不太好……因為是選擇數(shù)字或字母來進(jìn)行選擇的
后者的優(yōu)點是看著效果比較好看~不過靈活性不好!運行一次之后就要重新啟動才能再重新顯示選擇菜單!
當(dāng)然……這些東西現(xiàn)在都有軟件可以做~不過自己做出來不是更有DIRER的風(fēng)范嘛!哈哈~
再說一下小技巧!便于你們能把這個批處理做的更好看一些……
ECHO. (顯示空行)
@ (不顯示本行的內(nèi)容)
PROMPT?。ǜ淖兲崾痉?br>exist用來判斷是否存在這個文件(目錄) 可配合IF來使用!如一例:
因為98的注冊表主要是user.dat和system.dat,可以如下
1、復(fù)制現(xiàn)有的user.dat和system.dat,也放在windows下,比如名為user.old和system.old
2、在C:\autoexec.bat中加入如下內(nèi)容
@echo off
c:
cd \windows
attrib *.dat -h -s -r
if exist system.old del system.dat
if exist user.old del user.dat
if not exist user.dat copy user.old user.dat
if not exist system.dat copy system.old system.dat
attrib system.dat +r +h
attrib user.dat +r +h
效果是每次開機還原注冊表
config.sys大家自己看CONFIG全解吧~GOOGLE上有
引:比如要顯示的文件名是bios.txt,以下命令選一個就行
type bios.txt
copy bios.txt con
要修改文本文件的話也有幾個辦法。
如果只是要向最后追加?xùn)|東,比如是Hello world,那么就是
echo Hello world >> bios.txt
不要看錯了,上面是>>,要是只用一個>的話,你以前的東東會被清掉的,就不是追加了
除此以外的編輯大概只能用DOS下全屏編輯器比如Edit、PE或是QE之類的了。
RADME文件可以TXT2EXE來做……相關(guān)資料在GOOGLE能搜索到~
不過好象沒有能干下載的~我傳上來一個
還一個問題就是不能顯示中文……做中文啟動盤是比較麻煩的~我軟驅(qū)壞了~沒有試過……
不過和個高手討論了一下~流程大概是這樣的!
大家知道Pdos95.bat這個文件嗎?在98的DOS下加載他就能顯示中文了!
打開批處理大家可以看到所需要的文件!
pbios
font16
hzvio95
hzkbd
instdict pinyin
instdict shanpin
instdict quwei
instdict guobiao
ctrlpan
98所在盤的WINDOWS\COMMAND差不多全有了!沒有的也能搜索到~好象有一個不在……
instdict pinyin
instdict shanpin
instdict quwei
instdict guobiao
是所對應(yīng)的輸入法!
比如想用拼音的話就把C:Windows\Command\pinyin.tbl拷過去。。。其他的一樣~
最后要自己再建一個PDOS95的批處理哦!名字當(dāng)然可以改了……里面的東西除了
instdict pinyin
instdict shanpin
instdict quwei
instdict guobiao
其他的不變~這些你拷了什么就寫什么
想顯示中文的話就在Autoexec.bat中的第一句加載你的批處理就行了!
CONFIG里好象是不行了……
最后講一下PATH!
顧名思義PATH就是路徑
DOS分內(nèi)部命令和外部命令……內(nèi)部命令在COMMAND。COM中存放~其他的外部命令都在98盤的WINDOWS\COMMAND文件夾里
可是有時候開機為什么在DOS里輸入一個命令他不能運行,而必須要到C盤的WINDOWS\COMMAND里運行呢?因為DOS會先在本文件夾里找你所輸入的命令~之后搜索完畢后會搜索PATH中的路徑!要是PATH里和本文件夾里都沒有的話就會提示找不到!
看來PATH還蠻有用啊~那么我下面就講一下怎么使用
PATH的使用很簡單!直接把路徑賦給他就OK了!如:PATH C:\
中件帶一個空格!PATH的賦值一般都在AUTOEXEC.BAT里
如:PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PROGRA~1\WIN98RK;%PATH%
多個路徑在中間用分號隔開!%PATH%是什么呢?
這里的%PATH%同%CONFIG%一樣~~都是一個變量而已,里面存放了以前的PATH
如:PATH D:\;A:\
后面又有一句是PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PROGRA~1\WIN98RK;%PATH%
那么DOS在本文件夾中找不到的話就會去C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PROGRA~1\WIN98RK;%PATH%中去找!而這時的%PATH%代表D:\;A:\
如果在后面加一個PATH E:\的話前面的都會清空!如果不用PATH E:\而用PATH E:\;%PATH%的話就會保存原來的路徑!
在PATH中重復(fù)是沒關(guān)系的……不過重復(fù)了沒意義~
本盤啟動只做實驗用而已~~不必評價這張盤的好壞~~主要是為了讓大家自己能做出自己的超級啟動盤!
就這么多了……哇!好長?。]想到自己一寫寫了這么長~受刺激了……大家慢慢看吧
聯(lián)系客服