在Windows操作系统中,command命令可以实现DOS下的大部分功能。在DOS启动时,该命令会先执行并载入内部命令代码,对用户输入的命令进行解释并执行。
1.语法格式
COMMAND [[drive:]path] [device] [/E:nnnnn][/Y[/C command|/K command]]
在CONFIG.SYS文件中,使用下列语法:
SHELL=[[dos-drive:]dos-path] COMMAND.COM[[drive:]path][drive] [/E:nnnnn] [/p[/MSG]]
2.参数说明
[drive:]path:当程序的瞬时部分需要重新装载时,指定命令编译器从哪里寻找到COMMAND.COM文件。如果COMMAND.COM文件不被定位于根目录,在第一次加载COMMAND.COM时,这个参数必须包含在内。这个参数用于设置COMSPEC环境变量。
Drive:为命令行的输入和输出指定一个不同的设备。
[dos-drive:]dos-path:指定COMMAND.COM文件的位置。
/C string:指定命令编译器执行通过string来定义的命令,随后退出该命令。
/E:nnnnn:指定环境的尺寸,nnnnn是用字节表示的尺寸。nnnnn的值务必在160~32768范围内。MS-DOS将这个数字向上取值到16字节的倍数(默认制为256)。
/K filename:运行指定的程序或批处理文件夹,再显示MS-DOS命令提示符。对于为Windows的MS-DOS Promtp模式指定一个不同于C:\AUTOEXEC.BAT的启动文件,这个开关特别有用(要完成这项操作,可用RIF Editor打开DOSPRMPT.PIF文件,在Optional Parameters文本框内输入/K开关)。不推荐在CONFIG.SYS文件中的shell命令行上使用/K开关,这样做会导致应用程序和使AUTOEXEC.BAT文件发生改变的安装程序出现问题。
/P:仅当COMMAND命令和SHELL命令一起被使用在CONFIG.SYS文件中时,才应该使用这个开关。/P开关使命令编译器的新copy能够持久存在。既然这样,EXIT命令就不能用于终止命令编译器。如果指定/P开关,MS-DOS将在显示命令提示符之前执行AUTOEXEC.BAT文件。如果在启动驱动器的根目录中没有AUTOEXEC.BAT文件夹,则MS-DOS代为执行DATE命令和TIME命令。如果在CONFIG.SYS文件中没有SHELL命令,COMMAND.COM就会从根目录被自动加载,而且带有/P开关。
/MSG:指定所有的错误信息将被存储在内存中。通常情况下,有些信息只被存储在磁盘中。只有从软盘运行MS-DOS时,这个开关才会有用。在使用/MSG开关时,必须指定/P开关。
/Y:使COMMAND.COM全程跟踪用/C或/K开关定义的批处理文件。这个开关对调试批处理文件有用。例如,要一行一行地全程跟踪TEST.BAT批处理文件,则应当输入COMMAND/Y/C TEST命令。/Y开关需要/C开关和/K开关的其中之一。
<SHELL>命令是应用command命令对环境表增加永久空间的首选方法。
3.典型示例
以下命令指定了MS-DOS命令编译器将从当前程序启动一个新的命令编译器,执行名为MYBAT.BAT的批处理文件之后,再返回到第一个命令编译器:Command/c mybat.bat。
下列CONFIG.SYS命令指定了COMMAND.COM被定位于C盘驱动器上的DOS目录:
Shell=c:\dos\command.com c:\dos\/e:1024
这条命令指挥MS-DOS将COMSPEC环境变量设置为C:\DOS\COMMAND.COM。同时,也为本命令编译器创建了一个1024字节的环境。