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