DOS系統(tǒng)中有許多未公開的命令與參數(shù)。我經(jīng)過收集整理,發(fā)現(xiàn)了很多。由于DOS的有好幾種,所以下面僅以MS-DOS為例,介紹一下常用命令中的未公開 的命令與參數(shù)。經(jīng)過比較,我發(fā)現(xiàn)在MS-DOS的各版本中,7.x版中的未公開命令與參數(shù)是最多的,這些7.x版本中的未公開命令與參數(shù)在其它DOS版本 中通常是沒有的,但卻是非常實用的,例如COMMAND /Z命令,這是用DOS自帶的命令顯示ERRORLEVEL(錯誤返回代碼)值的唯一方法(當(dāng)然,用其它的附加工具,如ERR2ENV等也可以做到)。
DOS未公開命令:
TRUENAME:用于顯示實際的路徑,對SUBST等命令很有用。
INSTALLHIGH:用在CONFIG.SYS中,將文件調(diào)入UMB。
LOGO和COMMENT:僅用在MS-DOS 7.x中的CONFIG.SYS中,用法未知。
DOS未公開參數(shù):
COMMAND /F 使Fail作為Abort,Retry,Fail中的默認(rèn)選項。
COMMAND /D 在DOS5中是禁止AUTOEXEC.BAT自動執(zhí)行;在6.0+版本中是禁止/F參數(shù)。
COMMAND /Z 顯示ERRORLEVEL(錯誤返回代碼)信息。
COMMAND /T 在MS-DOS 7.x中強制將COMMAND.COM永久性調(diào)入常規(guī)內(nèi)存。
FORMAT /AUTOTEST 自動完成格式化過程。
FORMAT /BACKUP 自動完成格式化過程,并提示輸入卷標(biāo)。
FORMAT /SELECT 只在磁盤上備份系統(tǒng)區(qū)數(shù)據(jù),相當(dāng)于MIRROR程序。
FORMAT /SELECT /U 將引導(dǎo)區(qū)和文件分配表用F6H填之。
FORMAT /Z:n 設(shè)置FAT32分區(qū)上的簇大小。
FDISK /MBR 重寫硬盤主引導(dǎo)記錄。
FDISK /CMBR drive 重寫指定驅(qū)動器上的主引導(dǎo)記錄。
FDISK /PRI:size 創(chuàng)建主分區(qū)。
FDISK /EXT:size 創(chuàng)建擴展分區(qū)。
FDISK /LOG:size 在擴展分區(qū)上創(chuàng)建邏輯驅(qū)動器。
FDISK /PRMT|/Q 提示行動/安靜模式。
FDISK /PARTN 將分區(qū)表信息保存到PARTSAV.FIL中。
FDISK /ACTOK 用于MS-DOS 7.x中,跳過完整性測試。
FDISK /FPRMT 用于MS-DOS 7.x中,自動采用FAT32,并跳過提示信息。
DOSKEY /APPEDIT 使DOSKEY也應(yīng)用于其它程序(如DEBUG等)中。
DOSKEY /COMMAND和/PERMANENT和/SCRSIZE和/XHISTORY 用法未知。
SCANDISK /CLIP 用于MS-DOS 7.x中,將長文件名剪為短文件名。
SCANDISK /NOLOST 用于MS-DOS 7.x中,不提示表面測試或丟失簇。
SCANDISK /NOUI和/TEXT 用于MS-DOS 7.x中,使用標(biāo)準(zhǔn)的DOS界面。
SCANDISK /MOUNT 相當(dāng)于SCANDISK.INI中的Mount=Always。
SCANDISK /TIME 相當(dāng)于SCANDISK.INI中的ScanTimeOut=On。
QBASIC /QHELP 進(jìn)入DOS的全屏幕幫助系統(tǒng),相當(dāng)于執(zhí)行HELP命令。
QBASIC /EDCOM 進(jìn)入DOS的文件編輯器,相當(dāng)于執(zhí)行EDIT命令。
MEM /A或MEM /ALL 顯示HMA信息。
VER /R 顯示擴展的版本信息。
DIR /Z 用于MS-DOS 7.x中,表示不顯示長文件名。
DEVICE=HIMEM.SYS /Q 當(dāng)HIMEM.SYS加載時使用安靜模式。
DEVICE=EMM386.EXE NOTR 不要檢測Token Ring網(wǎng)絡(luò)適配器。
DOS未公開用法:
IF EXIST XMSXXXX0 ... 此命令可以判斷當(dāng)前是否安裝了XMS內(nèi)存管理器(通常是HIMEM.SYS)。 注意: 是XMSXXXX0,而不是有些文章中提到的錯誤的XMMXXXX0.
IF EXIST EMMXXXX0 ... 此命令則用來判斷當(dāng)前是否安裝了EMS內(nèi)存管理器(通常是EMM386.EXE)。
:: 此符號可在批處理文件中代替REM注解命令,可以加快運行速度。
MS-DOS到6.22版為止,依然保留著很多未公開的命令和參數(shù)。下面對這些命令和參數(shù)作一介紹。
1.TRUENAME
在使用SUBST、JOIN命令或在網(wǎng)絡(luò)上將物理盤映射為邏輯盤的情況下,用于顯示文件與目錄的實際物理位置。
2.FDISK/MBR
重寫硬盤主引導(dǎo)記錄。注意:如果硬盤分區(qū)超過四個,不能用此命令,因儲存額外分區(qū)信息的區(qū)域,會被FDISK/MBR覆蓋。(初學(xué)者千萬不要用)
3.SHELL=C:\COMMAND.COM/P/F
加上/F參數(shù)后,提示“Abort,Retry,Fail”出錯信息時,將以Fail作為默認(rèn)選項。
4.COMMAND/F
在命令行執(zhí)行時,使Fail作為“Abort,Retry,Ignore,F(xiàn)ail”出錯信息提示的默認(rèn)選項,直至重新啟動。在其它專用DOS外殼(如NDOS、4DOS等)或應(yīng)用程序(如PCTOOLS、CCED等) 的DOS外殼中執(zhí)行此命令后,將返回并停留在MS-DOS外殼,須執(zhí)行EXIT才能回到第二外殼。
5.COMMAND/P
在命令行執(zhí)行時,重新運行AUTOEXEC.BAT。如在其它DOS外殼中執(zhí)行此命令,會回到MS-DOS外殼而不能重新返回第二外殼。
6.COMMAND/D
在命令行執(zhí)行時,阻止運行自動批處理文件。在其它DOS外殼中運行的情況,與COMMAND/F相同,但不將Fail設(shè)為默認(rèn)選項。
7.VER/R
顯示更多信息。例如,執(zhí)行VER,顯示“MS-DOS Version 6.22”,加參數(shù)/R后,則顯示:MS-DOS Version 6.22 Revision A DOS is in HMA
8.FORMAT/AUTOTEST
自動檢查磁盤格式,然后完成格式化全過程,再回到DOS提示符。
9.FORMAT/BACKUP
除提示用戶輸入卷標(biāo)外,與上面相同。
10.FORMAT/SELECT
只在磁盤上備份系統(tǒng)區(qū)數(shù)據(jù),相當(dāng)于執(zhí)行MIRROR程序,不進(jìn)行格式化。
11.FORMAT/SELECT/U
不進(jìn)行格式化,只將引導(dǎo)區(qū)和文件分配表用F6H填之。雖不觸動根目錄區(qū)與數(shù)據(jù)區(qū),但磁盤因此不可訪問。這似乎是為防止數(shù)據(jù)泄密提供一個應(yīng)急手段。(初學(xué)者千萬不要用)
12.IF EXIST EMMXXXXO
命令名用于批文件,可檢測內(nèi)存中是否有EMM386.EXE。命令語句舉例:“if not exist EMMXX XXO echo EMM386.EXE is not installed!”。
13.IF EXIST XMMXXXXO
命令名可在批文件中檢測內(nèi)存中是否裝有HIMEM.SYS。命令行可以是:“if not exist XMMXXX XO echo HIMEM.SYS is not in memory!”。
14.COPY . A:
用“.”來代替“*.*”,也可用于DEL等命令。
15.INSTALLHIGH
有些設(shè)備驅(qū)動程序需在CONFIG.SYS中用INSTALL語句安裝,只能裝入常規(guī)內(nèi)存,而且用MEMMAKER優(yōu)化內(nèi)存時,并不對INSTALL語句進(jìn)行處理??筛挠肐NSTALLHIGH將這類設(shè)備驅(qū)動程 序裝入上位內(nèi)存,例:INSTALLHIGH=C:\DOS\SHARE.EXE。
16.用“:”來代替“REM”
在DOS執(zhí)行批文件時,碰到“REM”語句時,先將全句讀入,然后再根據(jù)句首是否有REM,決定處理方法;而碰到以“:”開始的標(biāo)號,只要第二個字符不是字母或數(shù)字,即視為無效標(biāo)號而立刻跳到下一行。因此,可用“:”加一空格來引導(dǎo)注釋行,以增加批文件執(zhí)行速度。
以上是MS-DOS中的未公開命令與參數(shù),其中有些是非常實用的,大家不妨一試。