DOS未公开的命令与参数

时间:2022-04-03 13:14:58

DOS系统中有许多未公开的命令参数。我经过收集整理,发现了很多。由于DOS的有好几种,所以下面仅以MS-DOS为例,介绍一下常用命令中的未公开 的命令与参数。经过比较,我发现在MS-DOS的各版本中,7.x版中的未公开命令与参数是最多的,这些7.x版本中的未公开命令与参数在其它DOS版本 中通常是没有的,但却是非常实用的,例如COMMAND /Z命令,这是用DOS自带的命令显示ERRORLEVEL(错误返回代码)值的唯一方法(当然,用其它的附加工具,如ERR2ENV等也可以做到)。

DOS未公开命令:

TRUENAME:用于显示实际的路径,对SUBST等命令很有用。

INSTALLHIGH:用在CONFIG.SYS中,将文件调入UMB。

LOGO和COMMENT:仅用在MS-DOS 7.x中的CONFIG.SYS中,用法未知。

DOS未公开参数:

COMMAND /F 使Fail作为Abort,Retry,Fail中的默认选项。

COMMAND /D 在DOS5中是禁止AUTOEXEC.BAT自动执行;在6.0+版本中是禁止/F参数。

COMMAND /Z 显示ERRORLEVEL(错误返回代码)信息。

COMMAND /T 在MS-DOS 7.x中强制将COMMAND.COM永久性调入常规内存。

FORMAT /AUTOTEST 自动完成格式化过程。

FORMAT /BACKUP 自动完成格式化过程,并提示输入卷标。

FORMAT /SELECT 只在磁盘上备份系统区数据,相当于MIRROR程序。

FORMAT /SELECT /U 将引导区和文件分配表用F6H填之。

FORMAT /Z:n 设置FAT32分区上的簇大小。

FDISK /MBR 重写硬盘主引导记录。

FDISK /CMBR drive 重写指定驱动器上的主引导记录。

FDISK /PRI:size 创建主分区。

FDISK /EXT:size 创建扩展分区。

FDISK /LOG:size 在扩展分区上创建逻辑驱动器。

FDISK /PRMT|/Q 提示行动/安静模式。

FDISK /PARTN 将分区表信息保存到PARTSAV.FIL中。

FDISK /ACTOK 用于MS-DOS 7.x中,跳过完整性测试。

FDISK /FPRMT 用于MS-DOS 7.x中,自动采用FAT32,并跳过提示信息。

DOSKEY /APPEDIT 使DOSKEY也应用于其它程序(如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中,使用标准的DOS界面。

SCANDISK /MOUNT 相当于SCANDISK.INI中的Mount=Always。

SCANDISK /TIME 相当于SCANDISK.INI中的ScanTimeOut=On。

QBASIC /QHELP 进入DOS的全屏幕帮助系统,相当于执行HELP命令。

QBASIC /EDCOM 进入DOS的文件编辑器,相当于执行EDIT命令。

MEM /A或MEM /ALL 显示HMA信息。

VER /R 显示扩展的版本信息。

DIR /Z 用于MS-DOS 7.x中,表示不显示长文件名。

DEVICE=HIMEM.SYS /Q 当HIMEM.SYS加载时使用安静模式。

DEVICE=EMM386.EXE NOTR 不要检测Token Ring网络适配器。

DOS未公开用法:

IF EXIST XMSXXXX0 ... 此命令可以判断当前是否安装了XMS内存管理器(通常是HIMEM.SYS)。 注意: 是XMSXXXX0,而不是有些文章中提到的错误的XMMXXXX0.

IF EXIST EMMXXXX0 ... 此命令则用来判断当前是否安装了EMS内存管理器(通常是EMM386.EXE)。

:: 此符号可在批处理文件中代替REM注解命令,可以加快运行速度。

MS-DOS到6.22版为止,依然保留着很多未公开的命令和参数。下面对这些命令和参数作一介绍。

1.TRUENAME

在使用SUBST、JOIN命令或在网络上将物理盘映射为逻辑盘的情况下,用于显示文件与目录的实际物理位置。

2.FDISK/MBR

重写硬盘主引导记录。注意:如果硬盘分区超过四个,不能用此命令,因储存额外分区信息的区域,会被FDISK/MBR覆盖。(初学者千万不要用)

3.SHELL=C:\COMMAND.COM/P/F

加上/F参数后,提示“Abort,Retry,Fail”出错信息时,将以Fail作为默认选项。

4.COMMAND/F

在命令行执行时,使Fail作为“Abort,Retry,Ignore,Fail”出错信息提示的默认选项,直至重新启动。在其它专用DOS外壳(如NDOS、4DOS等)或应用程序(如PCTOOLS、CCED等) 的DOS外壳中执行此命令后,将返回并停留在MS-DOS外壳,须执行EXIT才能回到第二外壳。

5.COMMAND/P

在命令行执行时,重新运行AUTOEXEC.BAT。如在其它DOS外壳中执行此命令,会回到MS-DOS外壳而不能重新返回第二外壳。

6.COMMAND/D

在命令行执行时,阻止运行自动批处理文件。在其它DOS外壳中运行的情况,与COMMAND/F相同,但不将Fail设为默认选项。

7.VER/R

显示更多信息。例如,执行VER,显示“MS-DOS Version 6.22”,加参数/R后,则显示:MS-DOS Version 6.22 Revision A DOS is in HMA

8.FORMAT/AUTOTEST

自动检查磁盘格式,然后完成格式化全过程,再回到DOS提示符。

9.FORMAT/BACKUP

除提示用户输入卷标外,与上面相同。

10.FORMAT/SELECT

只在磁盘上备份系统区数据,相当于执行MIRROR程序,不进行格式化。

11.FORMAT/SELECT/U

不进行格式化,只将引导区和文件分配表用F6H填之。虽不触动根目录区与数据区,但磁盘因此不可访问。这似乎是为防止数据泄密提供一个应急手段。(初学者千万不要用)

12.IF EXIST EMMXXXXO

命令名用于批文件,可检测内存中是否有EMM386.EXE。命令语句举例:“if not exist EMMXX XXO echo EMM386.EXE is not installed!”。

13.IF EXIST XMMXXXXO

命令名可在批文件中检测内存中是否装有HIMEM.SYS。命令行可以是:“if not exist XMMXXX XO echo HIMEM.SYS is not in memory!”。

14.COPY . A:

用“.”来代替“*.*”,也可用于DEL等命令。

15.INSTALLHIGH

有些设备驱动程序需在CONFIG.SYS中用INSTALL语句安装,只能装入常规内存,而且用MEMMAKER优化内存时,并不对INSTALL语句进行处理。可改用INSTALLHIGH将这类设备驱动程 序装入上位内存,例:INSTALLHIGH=C:\DOS\SHARE.EXE。

16.用“:”来代替“REM”

在DOS执行批文件时,碰到“REM”语句时,先将全句读入,然后再根据句首是否有REM,决定处理方法;而碰到以“:”开始的标号,只要第二个字符不是字母或数字,即视为无效标号而立刻跳到下一行。因此,可用“:”加一空格来引导注释行,以增加批文件执行速度。

以上是MS-DOS中的未公开命令与参数,其中有些是非常实用的,大家不妨一试。