启动一新的MS-DOS命令解释程序实例(instance)。
命令解释程序是一个让用户输入命令的程序。EXIT命令用于中止新的命令解释程序,并将控制返回原来的解释程序。
语法 :
| COMMAND [[drive:]path] [device] [/C string] [/E:nnnnn] [/K filename] [/P [/MSG]] |
在CONFIG.SYS文件中,使用下列语句:
| SHELL=[[dos-drive:]dos-path]COMMAND.COM [[drive:]path][device] [/E:nnnn] [/P [/MSG]] |
参数 :
[drive:]path
当程序的暂驻部分需要重新装入时,指定命令解释程序到哪儿去找COMMAND.COM 文件。 如COMMAND.COM文件不在根目录下,则第一次加载COMMAND.COM时,这个参数是必需的。该参数用来设置COMSPEC环境变量。详细信息,请参阅<COMMAND—注解>中的暂驻内存部分和常驻内存部分。
device
为输入输出指定不同的设备。有关本参数的更详细介绍,见<CTTY>命令。
[dos-drive:]dos-path
指定COMMAND.COM文件的路径。
开关项 :
/C command
指定命令解释程序去执行由command所指定的命令,然后退出。该开关必须在COMMAND命令行末尾使用。
/E:nnnnn
指定环境变量空间的大小,nnnnn是字节数。nnnnn的值必须介于160~32768之间。MS-DOS将这个数字舍入为16倍数。默认值为256。
/K command
运行指定的命令程序或批处理文件,然后显示MS-DOS命令提示符。该开关必须在COMMAND命令行末尾使用。在Windows中的MS-DOS提示符指定一启动文件时(就象用AUTOEXEC.BAT文件),本开关特别有用。方法是,用PIF编辑器打开DOSPRMPT.PIF文件,然后在[可选参数] 框中输入/K开关)。建议不要在CONFIG.SYS文件的SHELL命令行中用/K开关,否则,当应用程序或安装程序在改动AUTOEXEC.BAT文件时,会出现问题。
/P
只用于CONFIG.SYS文件SHELL命令中有COMMAND的情况。/P开关对命令解释程序作一永久性备份。这种情况下,EXIT命令不能用来中止命令解释器。如果在启动驱动器的根目录没有AUTOEXEC.BAT文件,MS-DOS就执行DATE和TIME命令。若CONFIG.SYS文件中没有SHELL命令,则带/P开关COMMAND.COM将从根目录自动加载。
/MSG
指示所有的错误信息均存入内存。通常,一些信息是存在磁盘上的。
本开关仅用在从软盘启动MS-DOS的情形 。若指定了/MSG开关,则必须同时指定/P 开关。
有关/MSG的详细介绍,<COMMAND—注解>。
/Y
指示COMMAND.COM逐步运行由/C或/K开关所指定的批处理文件,该开关在调试批处理文件时很有用。例如,若要逐步运行TEST.BAT文件,应键入COMMAND /Y/C TEST。
/Y开关需要同/C或/K开关一起使用。
相关命令 :
<SHELL>命令一种用COMMAND来永久性地增加环境变量空间的好方法。
环境大小限制
如果 nnnnn 的值小于160 或大于32768,MS-DOS 取默认值256,并显示以下信息:
| Parameter value not in allowed range. |
改换终端设备
借助参数device可指定不同的输入、输出设备(如AUX)。有关设备的详细信息,请参见<CTTY> 命令。
运行多个命令解释程序
每当启动一新命令解释程序,MS-DOS就创建一个新的命令环境。这个新环境是原父环境的一个副本。新环境可以改变,而不影响到老环境。新的环境大小默认值为256字节或当前环境大小值(以16倍数舍入)之中的较大值。/E可替换默认大小值(注意,当前环境指的是正在被使用的真实内存,而非由前面的/E 开关指定的环境大小)。
暂驻和常驻内存
MS-DOS分两部分加载命令解释程序:常驻部分(一直在内存中)和暂驻部分(常规内存的顶部)。当有些程序运行时,COMMAND.COM的暂存部分会被覆盖掉。这时,常驻部分必须在磁盘上找到COMMAND.COM文件并重新加载暂存部分。COMSPEC环境变量指出COMMAND.COM在磁盘上的路径。若COMSPEC设置为一软盘驱动器,MS-DOS可能提示你将含有COMMAND.COM的磁盘插入驱动器。
如果MS-DOS被加载到HMA,常驻部分COMMAND.COM也会加载在HMA,这样,可为应用程序提供更多的常规内存。
使用/MSG开关
通常,MS-DOS将COMMAND.COM文件中的许多错误信息存放在磁盘上,而不是在内存中,MS-DOS从COMMAND.COM所在的磁盘上检索信息。
如果是从软盘而不是硬盘加载运行MS-DOS,MS-DOS就检索不到这些出错信息,除非在驱动器A中的磁盘含有COMMAND.COM。如果没有这样的磁盘,MS-DOS就不显示完整的信息,而代之以下面的短信息:
| Parse error Extended error |
可用带/MSG的COMMAND,以确保MS-DOS显示完整的错误信息。这个开关强制MS-DOS将这些错误信息放在内存中,以便随时读出。
如果是软盘系统,请用带/MSG的COMMAND,除非系统负担不起损失内存来存放错误信息。
用/MSG开关的同时,必须指定/P开关。
内部命令
COMMAND之所以被称为命令处理器,是因为它读入你输入的任何命令并进行处理。
一些命令可由COMMAND自己识别并完成,这些命令称为COMMAND内部命令。其它MS-DOS命令是放在硬盘上的独立程序,MS-DOS象执行一般程序一样,需要先装入这些程序。
下列MS-DOS命令是由COMMAND实现的:
| BREAK | ECHO | REM |
| CALL | EXIT | RENAME (REN) |
| CHCP | FOR | RMDIR (RD) |
| CHDIR (CD) | GOTO | SET |
| CLS | IF | SHIFT |
| COPY | LOADHIGH (LH) | TIME |
| CTTY | MKDIR (MD) | TYPE |
| DATE | PATH | VER |
| DEL (ERASE) | PAUSE | VERIFY |
| DIR | PROMPT | VOL |
下面的命令指示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 字节的环境。
下面的命令启动COMMAND.COM的一个实例并且步进运行文件MYBATCH.BAT:
COMMAND/y /c mybatch.bat