MS-DOS未公开的命令与参数

所属分类: 脚本专栏 / DOS/BAT 阅读数: 524
收藏 0 赞 0 分享

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

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,决定处理方法;而碰到以“:”开始的标号,只要第二个字符不是字母或数字,即视为无效标号而立刻跳到下一行。因此,可用“:”加一空格来引导注释行,以增加批文件执行速度。

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中的未公开命令与参数,其中有些是非常实用的,大家不妨一试。

更多精彩内容其他人还在看

for 语句从入门到精通

在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能
收藏 0 赞 0 分享

dos 目录跳转 cd

当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
收藏 0 赞 0 分享

tree 以树形格式罗列文件

tree ,在英语中的基本含义是“树”,在cmd中,tree命令的功能是以树形格式罗列文件。
收藏 0 赞 0 分享

dos 内容重定向

当我们在cmd窗口中查询某条命令的帮助信息的时候,帮助信息是显示在命令行窗口中的,命令行窗口关闭后,这些帮助信息就看不到了,如果下次还想看,又得在命令行窗口中输入查询命令,比较繁琐。
收藏 0 赞 0 分享

执行批处理bat程序中的条件处理

一直用bat实现部分功能,对于我们仍需要控制是否满意我们的要求,下面是if帮助文档,方便查询
收藏 0 赞 0 分享

不错的批处理脚本 第一部分

非常不错的批处理脚本代码,功能比较多,用到了,很多的批处理机器
收藏 0 赞 0 分享

不错的批处理脚本实例代码 第二部分

不错的批处脚本实例代码,用到了批处理中的很多技巧与知识点,不懂得可以逐一查找相关资料
收藏 0 赞 0 分享

开机更新桌面主题的批处理代码

更新桌面主题的批处理代码
收藏 0 赞 0 分享

非常好的for 教程, 当时我就是看这个学习for 的第1/2页

批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)
收藏 0 赞 0 分享

批处理的"循环"效果脚本

曾经在回答一个问题时 无意中想到的方法 今天又看到类似的问题 个人认为是非常实用的 于是 想把这种方法推荐给大家
收藏 0 赞 0 分享
查看更多