一、DOS外部命令概述
在前几讲中我们已经介绍过,DOS外部命令是驻留在磁盘(硬盘或软盘)上的,当需要使用时必须从磁盘调入计算机内存中才能执行。DOS外部命令可以完成对磁盘的格式化、整盘拷贝、整盘比较、文件比较、数据备份、数据恢复、文本打印等操作。
二、磁盘的格式化
磁盘是用于存储程序或数据的外部设备,不论是硬盘还是软盘,在使用之前必须经过格式化处理。格式化的目的是在磁盘上记录某种标记,以便DOS识别和存储数据。末作格式化的磁盘DOS是不能识别的,也不能使用。
格式化是通过DOS的外部命令FORMAT来完成的,命令格式如下:
[d:][path]FORMAT[d:][/S][/1][/8][/V][/B][/4]
其中FORMAT前的[d:][path]指定含有FORMAT命令文件的驱动器和路径。如我们将所有DOS文件拷贝到C盘的子目录DOS下,则[d:][path]应为:
C:\DOS
FORMAT后面的[d:]用于指定需要作格式化的磁盘标识。如
C:\DOS\FORMAT A:
表示调用C盘子目录DOS下的FORMAT命令对A盘进行格式化。
C:\DOS\FORMAT
表示对当前驱动器内的磁盘作格式化。
如果希望被格式化的磁盘能启动DOS,则可以使用可选参数[/S],如
C>C:\DOS\FORMAT A:/S
它表示将对A驱动器内的软盘作格式化,并将DOS内核拷贝到该软盘上。DOS内核包含以下三个文件:
IBMBIO.COM
IBMDOS.COM
COMMAND.COM
前面两个文件是隐含文件,用dir命令不能列出来。顺便说一句,只含DOS内核的系统盘可以启动DOS,并使用DOS的所有内部命令,但它不包含DOS外部命令。
FORMAT命令后还有几个可选参数,其中:
[/1]用于格式化一个单面软盘而不考虑驱动器的类型,如:
C>C:\DOS\FORMAT A:/1
表示只对A盘的0面作格式化,它的容量只有普通磁盘容量的一半。由于单面软盘片在市面上已基本被淘汰,所以一般极少使用[/1]这个参数。
[/8]用于指定软盘的每个磁道为8个扇区,这个参数是为320K的软盘设计的,由于320K的软盘片也已经被淘汰,所以该参数也很少使用。如果不指定[/8],则系统默认值分别定9/15/18,它们分别对应360K,1.2M和1.44M的软盘。
[/V]用于给磁盘定义一个卷标号,以区分不同的磁盘。
[/B]也是为每磁道8扇区的软盘保留的,用于保留空间,以便装入不同版本的DOS内核,目前也很少使用。
[/4]是在高密驱动器上格式化一双面低密软盘(即360K软盘)。这个参数的使用是十分实用的,而且有一定技巧。目前在大多数微机上都配备了1.2M的软盘驱动器,但这种驱动器既可以使用1.2M的软盘片,也可以使用360K的软盘片,而且操作系统可以自动识别这两种软盘。对软盘作格式化时,软盘的容量一般取决于相应的驱动器的容量,如以下命令:
C>C:\DOS\FORMAT A;/
所格式化的软盘容量取决于软驱所支持的容量,如果在360K的软驱上对1.2M的软盘作格式化,得到的软盘的容量也只有360K;如果在1.2M的软驱上对360K的软盘作1.2M的格式化,那么该操作一般会出现错误,而且格式化后的软盘也不能正常使用。这时采用下列命令:
C>C:\DOS\FORMAT A:/4/
则可以在1.2M的软驱上对360K的软盘作格式化,而且格式化后软盘的容量即为360K,在使用时DOS可以自动识别。
在对磁盘进行格式化时应注意以下问题:
1.由于格式化会使原磁盘上的所有信息丢失,所以使用时一定要慎重,特别是对硬盘作格式化时更是如此。如执行以下操作:
C>C:\DOS\FORMAT/
则意为对缺省驱动器C盘作格式化,系统会提出以下警告:
Enter Current Volume Label for Drive
(Press enter for none):
WARING: ALL DATA ON NON-REMOV ABLE DISK DRIVE C:WILL BE LOST!
Proceed with Format(Y/N)?
这时要求你输入驱动器的卷标(Volume),如果没有卷标可直接回车,而且要回答Y表示对硬盘作格式化。对硬盘的格式化一般需几分钟才能完成。
2.有时由于某种原因,磁盘被损坏,造成数据读写错误,这时可以在对其它数据作备份后对该磁盘作一次格式化。由于格式化可以自动寻找坏扇区,并打上标记,以后使用时便会跳过这些坏区来存放数据,不会再出错。
三、磁盘拷贝和磁盘比较
磁盘拷贝主要用于对某些重要的磁盘备份。如我们在市面上购买的各种学习软件,在使用时由于各种原因不免会有损坏的情况,解决这一问题最为有效的办法是对原盘进行备份,而平常就使用备份磁盘,一旦出现问题也还有原盘在,这样便做到了双保险。当然也应该注意不应用磁盘拷贝命令非法复制受法律保护的软件产品。磁盘复制命令的格式如下:
[d:][Path]DISKCOPY[d:][d:]]
其中DISKCOPY前面的[d:][path]用于指定该命令文件所在的盘号和路径,如我们的DOS安装在C盘子目录DOS下,则该项为C:\DOS。而参数[d:[d:]]中第一个d:表示源盘所在驱动器号,第二个d:表示目标盘所在驱动器号。如:
C>C:\DOS\DISKCOPY A:B:/
表示将A盘上的内容全部复制到B盘上,这时要求A、B两个驱动器是同种类型的。
C>C:\DOS\DISKCOPY B:A:/
表示将B盘上的内容全部复制到A盘上,也要求A、B两个驱动器是同种类型的。
C>C:\DOS\DISKCOPY A:/
表示在A驱动器上完成复制,这时系统会不断提示插入源盘而后又换成目标盘,一般要来回几次。
C>C:\DOS\DISKCOPY B:/
意义同上,只是在B驱动器上操作。
在复制中应注意以下问题:
1.由于复制将产生一张与源盘完全一样的新盘,所以目标盘中原有的数据将全都丢失,这一点同双卡录音机复制磁带是类似的。所以在使用中两张盘的次序千万不能搞错,否则将造成不必要的损失。
2.在复制中如果目标盘是一张未用过的新软盘,则磁盘拷贝程序会自动对其作格式化,然后再复制,这时复制时间要稍长。
3.如果复制中出现磁盘读写错误,则目标盘可能不能使用。
4.磁盘拷贝只限于对软盘进行操作,不能在硬盘之间进行磁盘拷贝。
磁盘比较命令用于对DISKCOMP拷贝的磁盘进行比较,以确认在拷贝过程中没有出现错误。磁盘比较命令的格式为:
[d:][path]DISKCOMP [d:[d:]]
其中DISKCOMP前面的[d:][Path]用于指定外部命令DISKCOMP文件所在的磁盘驱动器及其路径,[d:[d:]]用于指定源盘和目标盘。如
C>C:\DOS\DISKCOMP A:B:/
将对A,B两个驱动器内的磁盘进行比较,这时应注意A,B是相同类型的驱动器,否则比较没有意义。如果微机上配备的两个驱动器不同,则可以使用
C>C:\DOS\DISKCOMP A: A:/
或
C>C:\DOS\DISKCOMP B:B:/
即使用同一驱动器对两张磁盘进行比较,这时DOS会自动提示你来回插入源盘(Source diskette)和目标盘(Target diskette),以便完成整盘比较。
注:
1.如果两张磁盘完全一样(一般是通过DISKCOPY拷贝的),则DISKCOMP比较后将发出以下信息:
Diskettes compare OK
表示两张软盘的确完全相同。如果两张磁盘在某处有不一致的地方,则DISKCOMP会提示比较错误出现在某面某磁道等等。
2.DISKCOMP只能用于对软盘进行比较,不能将软盘和硬盘比较,也不能对硬盘和硬盘进行比较(即使微机上常有两个硬盘)。另外,所比较的两张磁盘必须是同类型的,即都是360K,1.2M或1.44M的软盘,将360K的软盘和1.2M的软盘进行比较将是没有意义的,而且也会发生错误。(未完待续)(杨锡平)