DOS大全二

来源:百度文库 编辑:神马文学网 时间:2024/04/27 22:51:47



DOS在WINDOWS下的优势

大家现在已能熟练地操作WINDOWS了,初学者根本不知道“DOS”是何物?但是一旦系统崩溃,又要回到“原始社会”--DOS。

   其实在DOS下的一些命令是WINDOWS下无可比拟的(太夸张了些^-^)。首先介绍几个DOS下的命令:

   一、delete(DEL)。大家一定要说这不是删除命令吗?对!就是删除命令。它能删除在WINDOWS下无法删除的文件。比如:Win386.swp(虚拟内存),定期删除可减少硬盘碎片,删除后重启自动可生成Win386.swp。然而在WINDOWS下用鼠标左键单击选定,按键盘上的Delete,弹出确认框:确实要把“Win386.swp”放入回收站吗?单击确定。又弹出一错误框:无法删除WIN386:访问被拒绝,请确定磁盘未满或未被写保护,而且文件未被使用。各位读者是不是遇到这种情况?

   二、doskey(锁定命令)。大家一定对FORMAT很害怕吧!病毒一侵入,它就给您FORMAT,WU、WU、WU……后悔已来不及了,只得重装系统,真麻烦!现在您不必害怕!在DOS下键入如下命令以C:\doskey FORMAT=Bad Command or file name!并回车就可以了,当“病毒”或“人毒”格式化您的硬盘时,系统将会显示:“Bad command or file name!”。那么您又要问我:我自己想格式化的时候怎么办?没关系!只要键入“C:\doskey FORMAT=”并回车,就可以了^-^

   三、FC(它是比较两个文件差别的命令)。命令格式:fc 原文件名 目标文件名 保存结果。例:fc c:\1.reg c:\2.reg>c:\3.txt(其中1.reg、2.reg是注册表文件,3.txt是文本文件),使用这个命令可以比较注册表,也可以其他文件(注册表:就是在开始\运行并回车)。这样在安装共享软件的时候,就知道“它”往注册表中装什么了,(安装前先导出注册表,安装后再导出注册表,并用FC命令比较),这样对某些搞特殊工作的人就方便多了,只能点到为止了^-^

   四、bat(批处理命令),它在WINDOWS下同样有它的功效。有一些朋友是不是在上网的时候,经常忘了开防火墙?!如果在启动WINDOWS时直接启动,浪费了系统资源,并不是每次都上网;如果忘了开防火墙,病毒、木马就乘虚而入了,作者本人也有一次教训),能不能两全齐美呢?只要当上网时防火墙自动打开(有一些软件能使两个软件捆绑在一起,只要启动一个软件,另一个软件自动启动),自力更生、艰苦创业是中华民族的美德吗!以本人把天网防火墙和电子邮件捆绑一起为例,首先新建记事本(文本文件)内容如下:

start C:\Progra~1\skynet\Firewall\snfw.exe

start C:\Progra~1\Outloo~1.EXE\MSIMN.exe

然后另存为(菜单栏中文件\另存为)电子邮件.bat(名字随便起,只要后缀是.bat就行了)然后执行一下,是不是成功了,以后收发电子邮件,只要启动这个批处理文件就可以了(也可在桌面或任务栏建立快捷方式,是不是更方便了)。这里需要指出的是:DOS下不支持长文件名,最多8个字节,所以Program Files应写成Progra~1。命令格式即为start 文件存放路径。

怎么样,DOS还是宝刀未老吧!!!

DOS中的小技巧DOS中的小技巧
经常使用DOS,笔者总结了几条小技巧,特拿出来怡笑大方。
1.   批处理中用set设置dir的显示方式
在批处理命令中加上c: \setdircmd =w/p/a,(三个参数可单独使用)这样只需键入c:
\dir,就可达到分屏五行显示,同时显示隐含目录与文件的效果。若想取消此显示方式,只需键入c: \setdircmd
=<--(<――代表回车)同理使用set还可以使其他命令简化。
2.   DOS下edit的使用技巧
使用过wps的人都觉得其中“定义块”的功能很好用,其实dos下的edit也能实现定义块,并且还有快捷键可使用。先按住shift键,再用→/←方向键控制,shift
+home定义到行首,shift +end定义行行尾,shift +↑/↓定义上一行和下一行,shift +home
+ctrl定义到文件头……(定义好的块会形成亮带)要想复制块,则首先要定义好块,然后按alt
+e选择edit用↑/↓调到copy项,回车,将定义好的被复制项放到剪贴板中。再将光标移动至目标的位置,按alt
+e,选paste(粘贴),回车,刚刚被放至剪贴板的块被复制到当前光标所在处。移动块也可照此方法。
3.   用Type命令拷贝加密盘
用DOS下的Type命令可以拷贝某些用copy及pctools无法复制的加密盘上的信息,方法是,先记下目标盘上所有文件的文件名的扩展名,然后在A:驱插入源盘,B:驱插入一张空盘,键入以下命令:A:
Type文件名>B:文件名将加密盘上的所有文件按此格式都Type到目标盘上,就形成一张与原加密盘一样的盘了。
4.   Type的另一妙用——获得未知病毒代码
用Type可以巧妙的利用病毒多感染com和exe这一特性,获得未知病毒代码。现在C盘根目录下建立两个零字节的Vir文件,扩展名分别用com和exe,方法如下:c:
\>type nul >vir.com,c:\>type nul
>vir.exe,根据病毒侵入的特性,一旦染毒,扩展名为com和exe的文件的字节数便会增加。所增加的字节便是感染病毒的全部代码,从而进行有针对的杀毒措施,如将病毒代码取适当的一段拷入一些杀毒软件的virus.dat等病毒代码文件中,就可以自己实现对杀毒软件的升级,非常及时。

XP中的增强DOS命令

“廉颇老矣,尚能饭否”,这是很多人对Windows操作系统下的DOS 的一种偏见,其实DOS在系统维护工作中有着重要的作用。自从微软公司推出Windows XP操作系统后, 人们热情的投入到Win XP的怀抱中去关注它、了解它、使用它,却很少有人注意到Win XP附带的DOS操作环境,实际上Win XP已经增加了部分DOS命令的功能,所谓“老树开新花”,下面让我们一道来感受Win XP下DOS的功能变化。

◆命令:DIR,列文件、目录

增加参数:/-C
参数说明:DIR列文件、目录时显示的文件大小,其数值以千为单位进行分隔,使用此参数即“DIR/-C”将取消显示中的分隔符,以满足部分人的视觉习惯。

增加参数:/Q
参数说明:Windows是多用户操作系统,使用此参数即“DIR /Q”列文件、目录时,将显示出文件、目录的用户属性。

增加参数:/T:C、/T:A、/T:W
参数说明:使用此参数即“DIR/T:C”、“DIR/T:A”、“DIR/T:W”分别显示文件、目录的创建时间、上次访问时间和上次修改时间。

增加参数:/X
参数说明:使用此参数即“DIR/X”列文件、目录时,会对长文件名同时显示“8.3”格式的文件名。

◆命令:CD,改变目录

增加参数:/D
参数说明:此参数的作用是快速改变当前目录,比如当前目录是C:\Windows,使用命令“CD/D E:\Tools”可快速切换到E:\Tools目录下。注:只有在Win XP的“运行”文本框中输入“CMD”得到的DOS窗口中才能使用此参数。

◆命令:MD,建立目录

功能说明:此命令并未增加参数,但是增强了功能,它可一次建立多级子目录, 例如使用命令“MD AA\BB\CC\DD”将一次性创建AA、BB、CC、DD四级子目录。而在老版本的DOS中,若不存在AA子目录,便无法直接建立AA下的BB等深层子目录。

◆命令:RD,删除目录

增加参数:/S
参数说明:使用此参数即“RD/S”用于删除目录树,即删除目录及目录下的所有子目录和文件,相当于以前版本中的DELTREE命令。

增加参数:/Q
参数说明:使用上面的/S参数删除目录树时,系统会要求用户确认是否真的要删除。若同时使用/Q参数即“RD/S /Q”,在进行删除操作时将取消确认,相当于DELTREE命令的/Y参数。

◆命令:DEL,删除文件或目录

增加参数:/F
参数说明:使用此参数即“DEL/F”可删除只读文件。

增加参数:/S、/Q
参数说明:使用此参数即“DEL/S”作用与“RD/S”完全相同,即删除目录及目录下的所有子目录和文件。同时使用参数/Q,可取消删除操作时的系统确认。

增加参数:/A
参数说明:删除指定属性或指定属性以外的文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件。

◆命令:ATTRIB,更改文件或目录的属性

增加参数:/D
参数说明:在Win XP中我们不能把文件或文件夹设置为系统属性,只能设为只读、隐藏或存档属性。而带参数/D使用ATTRIB命令可以对文件的所有属性进行设定,设定时必须与参数/S同时使用。例如“ATTRIB /S /D +S D:\Study”,作用是将D:\Study文件夹设置为系统文件夹。

◆命令:format,格式化磁盘

增加参数:/FS:filessystem
参数说明:按指定文件系统类型(FAT、FAT32、NTFS)格式化磁盘,例如“format /FS:NTFS”。

◆命令:DATE、TIME,显示系统日期和时间

增加参数:/T
参数说明:使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间。

--------------------------------------------------------------------------------


常用的一些DOS命令

一索引:
ATTRIB
CD
CLS
COPY
DATE
DEL
DIR
DISKCOMP
DISKCOPY
ECHO
FC
FIND
FORMAT
LABEL
MD
MOVE
PROMPT
TIME
TREE
VER
XCOPY

NETSTAT
REM
REN
VOL
TYPE

ATTRIB:显示或更改文件属性。

ATTRIB [+R│-R] [+A│-A] [+S│-S] [+H│-H] [[drive:] [path] filename] [/S] [/D]

+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
[drive:][path][filename]
指定要处理的文件属性。
/S 处理当前文件夹及其子文件夹中的匹配文件。
/D 也处理文件夹。


CD:显示当前目录名或改变当前目录。

CHDIR [/D] [drive:][path]
CHDIR [..]
CD [/D] [drive:][path]
CD [..]

.. 指定要改成父目录。

键入 CD 驱动器: 显示指定驱动器中的当前目录。
不带参数只键入 CD,则显示当前驱动器和目录。

使用 /D 命令行开关,除了改变驱动器的当前目录之外,
还可改变当前驱动器。

如果扩展命令名被启用,CHDIR 会如下改变:

当前的目录字符串会被转换成使用磁盘名上的大小写。所以,
如果磁盘上的大小写如此,CD C : \TEMP 会将当前目录设为
C:\Temp。

CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个
带有空格但不带有引号的子目录名。例如:

cd \winnt\profiles\username\programs\start menu

与下列相同:

cd "\winnt\profiles\username\programs\start menu"

在扩展功能停用的情况下,您必须键入以上命令。

CLS:清除屏幕。

COPY:将一份或多份文件复制到另一个位置。

COPY [/D] [/V] [/N] [/Y │ /-Y] [/Z] [/A │ /B ] source [/A │ /B]
[+ source [/A │ /B] [+ ...]] [destination [/A │ /B]]

source 指定要复制的文件。
/A 表示一个 ASCII 文本文件。
/B 表示一个二进位文件。
/D 允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V 验证新文件写入是否正确。
/N 复制带有非 8dot3 名称的文件时,
尽可能使用短文件名。
/Y 不使用确认是否要改写现有目标文件
的提示。
/-Y 使用确认是否要改写现有目标文件
的提示。
/Z 用可重新启动模式复制已联网的文件。

命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。
这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批文件脚本中执行的,默认值应为
在改写时进行提示。

要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)。
DATE:显示或设置日期。

DATE [/T │ date]

显示当前日期设置和输入新日期的提示,请键入
不带参数的 DATE。要保留现有日期,请按 ENTER。

如果命令扩展名被启用,DATE 命令会支持 /T 开关;
该开关指示命令只输出当前日期,但不提示输出新日期。


DEL:删除一个或数个文件。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

names 指定一个或数个文件或目录列表。通配符可被用来
删除多个文件。如果指定了一个目录,目录中的所
有文件都会被删除。

/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
attributes R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
- 表示“否”的前缀

如果命令扩展名被启用,DEL 和 ERASE 会如下改变:

/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。

DIR:
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

[drive:][path][filename]
指定要列出的驱动器、目录和/或文件。

/A 显示具有指定属性的文件。
attributes D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 - 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
停用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 颠倒顺序的前缀
/P 在每个信息屏幕后暂停。
/Q 显示文件所有者。
/S 显示指定目录和所有子目录中的文件。
/T 控制显示或用来分类的时间字符域。
timefield C 创建时间
A 上次访问时间
W 上次写入的时间
/W 用宽列表格式。
/X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,
短名称插在长名称前面。如果没有短名称,在其位置则
显示空白。
/4 用四位数字显示年

可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
来替代预先设定的开关。例如,/-W。

DISKCOMP:比较两张软盘的内容。

DISKCOMP [drive1: [drive2:]]

DISKCOPY:把一张软盘的内容复制到另一张。

DISKCOPY [drive1: [drive2:]] [/V]

/V 校验信息复制得是否正确。

两张软盘的类型必须相同。
您可以为 drive1 和 drive2 指定同样的驱动器。

ECHO:显示信息,或将命令回显打开或关上。

ECHO [ON │ OFF]
ECHO [message]

要显示当前回显设置,键入不带参数的 ECHO。

FC:比较两个文件或两个文件集并显示它们之间的不同


FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]
[drive1:][path1]filename1 [drive2:][path2]filename2
FC /B [drive1:][path1]filename1 [drive2:][path2]filename2

/A 只显示每个不同处的第一行和最后一行。
/B 执行二进制比较。
/C 不分大小写。
/L 将文件作为 ASCII 文字比较。
/LBn 将连续不匹配的最大值设为指定
的行数。
/N 在 ASCII 比较上显示行数。
/OFF[LINE] 不要跳过带有脱机属性集的文件。
/T 不要将 tab 扩充到空格。
/U 将文件作为 UNICODE 文字文件比较。
/W 为了比较而压缩空白(tab 和空格)。
/nnnn 指定不匹配处后必须连续匹配的行数。
[drive1:][path1]filename1
指定要比较的第一个文件或第一个文件集。
[drive2:][path2]filename2
指定要比较的第二个文件或第二个文件集。

FIND:在文件中搜索字符串。

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]

/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号。
/I 搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
"string" 指定要搜索的文字串,
[drive:][path]filename
指定要搜索的文件。

如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。

FORMAT:格式化磁盘。

FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X]
FORMAT volume [/V:label] [/Q] [/F:size]
FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors]
FORMAT volume [/V:label] [/Q]
FORMAT volume [/Q]

volume 指定驱动器(后面跟一个冒号)、装入点
或卷名。
/FS:filesystem 指定文件系统类型(FAT、FAT32 或 NTFS)。
/V:label 指定卷标。
/Q 执行快速格式化。
/C 仅适于 NTFS: 默认情况下,将压缩在该新建卷上
创建的文件。
/X 如果必要,先强制卸下卷。那时,该卷所有
已打开的句柄不再有效。
/A:size 替代默认配置单位大小。极力建议您在一般状况下使用
默认设置。
NTFS 支持 512、1024、2048、4096、8192、16K、32K、
64K。
FAT 支持 512、1024、2048、4096、8192、16K、32K、
64k,(128k、256k 用于大于 512 字节的扇区) 。
FAT32 支持 512、1024、2048、4096、8192、16k、32k、
64k,(128k 、256k 用于大于 512 字节的扇区)。

注意 FAT 及 FAT32 文件系统对卷上的群集数量有以下限制:

FAT: 群集数量 <= 65526
FAT32: 65526 < 群集数量 < 4177918

如果判定使用指定的群集大小无法满足以上需求,格式
化将立即停止。

NTFS 压缩不支持大于 4096 的分配单元。

/F:size 指定要格式化的软盘大小(1.44)
/T:tracks 为磁盘指定每面磁道数。
/N:sectors 指定每条磁道的扇区数。
LABEL:创建、更改或删除磁盘的卷标。

LABEL [drive:][label]
LABEL [/MP] [volume] [label]

drive: 指定驱动器名。
label 指定卷标签。
/MP 指定卷应该被当作安装点或卷名。
volume 指定驱动器(后面跟一个冒号)、装入点
或卷名。如果指定了卷名,/MP 标志则不必要。

MD:创建目录。

MKDIR [drive:]path
MD [drive:]path

如果命令扩展名被启用,MKDIR 会如下改变:

如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \a 不
存在,那么:

mkdir \a\b\c\d

与:

mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d

相同。如果扩展名被停用,则需要键入 mkdir \a\b\c\d。

MOVE:移动文件并重命名文件和目录。

要移动至少一个文件:
MOVE [/Y │ /-Y] [drive:][path]filename1[,...] destination

要重命名一个目录:
MOVE [/Y │ /-Y] [drive:][path]dirname1 dirname2

[drive:][path]filename1 指定您想移动的文件位置和名称。
destination 指定文件的新位置。目标可包含一个驱动器号
和冒号、一个目录名或组合。如果只移动一个文件
并在移动时将其重命名,您还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2 指定目录的新名称。

/Y 取消确认改写一个现有目标文件的提示。
/-Y 对确认改写一个现有目标文件发出提示。

命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上
的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内
执行的,改写时都发出提示。

PROMPT:更改命令提示符。

PROMPT [text]

text 指定新的命令提示符。

提示符可以由普通字符及下列特定代码组成:

$A & (短 and 符号)
$B │ (管道)
$C ( (左括弧)
$D 当前日期
$E Escape code (ASCII 码 27)
$F ) (右括弧)
$G > (大于符号)
$H Backspace (擦除前一个字符)
$L < (小于符号)
$N 当前驱动器
$P 当前驱动器及路径
$Q = (等号)
$S (空格)
$T 当前时间
$V 版本号
$_ 换行
$$ $ (货币符号)

如果命令扩展名被启用,PROMPT 命令会支持下列格式化字符:

$+ 根据 PUSHD 目录堆栈的深度,零个或零个以上加号(+)字符;
每个被推的层有一个字符。

$M 如果当前驱动器不是网络驱动器,显示跟当前驱动器号或
空字符串有关联的远程名。

TIME:显示或设置系统时间。

TIME [/T │ time]

显示当前时间设置和输入新时间的提示,请键入
不带参数的 TIME。要保留现有时间,请按 ENTER。

如果命令扩展名被启用,DATE 命令会支持 /T 命令行开关;该命令行开关告诉
命令只输出当前时间,但不提示输出新时间。

TREE:以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]

/F 显示每个文件夹中文件的名称。
/A 使用 ASCII 字符,而不使用扩展字符。

VER:显示 DOS / Windows 版本。

XCOPY:复制文件和目录树。

XCOPY source [destination] [/A │ /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:file1[+file2][+file3]...]

source 指定要复制的文件。
destination 指定新文件的位置和/或名称。
/A 只复制有存档属性集的文件,
但不改变属性。
/M 只复制有存档属性集的文件,
并关闭存档属性。
/D:m-d-y 复制在指定日期或指定日期以后改变的文件。
如果没有提供日期,只复制那些源时间
比目标时间新的文件。
/EXCLUDE:file1[+file2][+file3]...
指定含有字符串的文件列表。如果有任何
字符串与要被复制的文件的绝对路径
相符,那个文件将不会得到复制。
例如,指定如 \obj\ 或 .obj 的字符串会排除
目录 obj 下面的所有文件或带有
.obj 扩展名的文件。
/P 创建每个目标文件前提示。
/S 复制目录和子目录,除了空的。
/E 复制目录和子目录,包括空的。
与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件。
/W 提示您在复制前按键。
/C 即使有错误,也继续复制。
/I 如果目标不存在,又在复制一个以上的文件,
则假定目标一定是一个目录。
/Q 复制时不显示文件名。
/F 复制时显示完整的源和目标文件名。
/L 显示要复制的文件。
/G 允许将没有经过加密的文件复制到
不支持加密的目标。
/H 也复制隐藏和系统文件。
/R 改写只读文件。
/T 创建目录结构,但不复制文件。不
包括空目录或子目录。/T /E 包括
空目录和子目录。
/U 只复制已经存在于目标中的文件。
/K 复制属性。一般的 Xcopy 会重设只读属性。
/N 用生成的短名复制。
/O 复制文件所有权和 ACL 信息。
/X 复制文件审核设置(隐含 /O)。
/Y 禁止提示以确认改写一个
现存目标文件。
/-Y 导致提示以确认改写一个
现存目标文件。
/Z 用重新启动模式复制网络文件。

使用批处理文件--常用命令

echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令)
pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续
rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的


  例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。

  批处理文件的内容为:         文件表示:

    echo off            不显示命令行

    dir c:\*.* >a.txt       将c盘文件列表写入a.txt

    call c:\ucdos\ucdos.bat    调用ucdos

    echo 你好            显示"你好"

    pause              暂停,等待按键继续

    rem 使用wps           注释将使用wps

    cd ucdos            进入ucdos目录

    wps               使用wps  

  批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。

   %表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。

  例如,C:根目录下一批处理文件名为f.bat,内容为 format %1

  则如果执行C:\>f a:    则实际执行的是format a:

  又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2

  那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容
if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。

if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if "参数" == "字符串"  待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:

2、if exist 文件名  待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys

3、if errorlevel 数字  待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2  DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码

goto 批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如:

goto end

:end
echo this is the end

标号用 :字符串 表示,标号所在行不被执行

choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……

如: choice /cme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?

例如,test.bat的内容如下:
@echo off
choice /cme defrag,mem,end
if errorlevel 3 goto defrag 应先判断数值最高的错误码
if errorlevel 2 goto mem
if errotlevel 1 goto end

efrag
c:\dos\defrag
goto end

:mem
mem
goto end

:end
echo good bye

此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。

for 循环命令,只要条件符合,它将多次执行同一命令。

格式FOR [%%f] in (集合) DO [命令]
只要参数f在指定的集合内,则条件成立,执行命令

如果一条批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
含义是如果是以bat或txt结尾的文件,则显示文件的内容。
DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如: path(设置路径)、smartdrv(磁盘加速)、 mouse(鼠标启动)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置环境变量)等。

  如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。

  例如,一个典型的autoexec.bat内容如下:

@echo off                     不显示命令行

prompt $p$g                    设置提示符前有目录提示

path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools    设置路径

lh c:\dos\doskey.com                加载键盘管理

lh c:\mouse\mouse.com               加载鼠标管理

lh c:\dos\smartdrv.exe               加载磁盘加速管理

lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V      加载CD-ROM驱动

set temp=c:\temp                  设置临时目录

10.for 命令
for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable

for {%variable|%%variable} in (set) do command [ CommandLineOptions]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I

如果命令扩展名被启用,下列额外的 FOR 命令格式会受到
支持:

FOR /D %variable IN (set) DO command [command-parameters]

如果集中包含通配符,则指定与目录名匹配,而不与文件
名匹配。

FOR /R [[drive:]path] %variable IN (set) DO command [command-

检查以 [drive:]path 为根的目录树,指向每个目录中的
FOR 语句。如果在 /R 后没有指定目录,则使用当前
目录。如果集仅为一个单点(.)字符,则枚举该目录树。

FOR /L %variable IN (start,step,end) DO command [command-para

该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
序列 (5 4 3 2 1)。

FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN ('command') DO command

或者,如果有 usebackq 选项:

FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN ('command') DO command

filenameset 为一个或多个文件名。继续到 filenameset 中的
下一个文件之前,每份文件都已被打开、读取并经过处理。
处理包括读取文件,将其分成一行行的文字,然后将每行
解析成零或更多的符号。然后用已找到的符号字符串变量值
调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开
的第一个空白符号。跳过空白行。您可通过指定可选 "options"
参数替代默认解析操作。这个带引号的字符串包括一个或多个
指定不同解析选项的关键字。这些关键字为:

eol=c - 指一个行注释字符的结尾(就一个)

DOS下联网的方法

 随着计算机和网络的普及,计算机之间的联网操作(如文件的传输,聊天等)显得越来越重要了。既然DOS有这么多的用户,那么如何用它来实现联网呢?DR-DOS
7.xx中自带联网(包括局域网和TCP协议)的功能,可是我们大家常用的MS-DOS却没有。但是,并不是没有办法,只是需要一些附加的软件。比较好的有Netware
Lite 1.x和Microsoft Network Client 3.0(均可在本站的“网络工具”中下载),下面以后者为例,讲述一下局域网的实现方法。
    首先在需要联网的计算机中安装Microsoft Network Client
3.0(后文简称MSCLIENT),安装中输入各自的工作组,计算机名和IP地址,以及用户名和密码,并在列表中选择安装的网卡的型号。如果列表中没有您的网卡的话,则需要网卡自带的驱动程序,通常在一张软盘中,也有可能在光盘中。当它提示输入OEM盘的时候,您就插入网卡的驱动程序磁盘,然后输入合适的路径。由于各网络系统所需的网卡驱动程序并不一样,而对于MSCLIENT一般则选择驱动盘中的NDIS2或MSCLIENT文件夹,如A:\MSCLIENT。只要正确的话,它就会进行自动安装了。至于网络协议,一般只要有NetBEUI和TCP/IP协议就够了,装太多会减慢网络的速度。安装完成后,MSCLIENT会自动将网络启动命令放入AUTOEXEC.BAT中,重新启动计算机后就会发现网络自动启动了。当系统提示输入用户名和密码时,输入刚才设置的就可以了。这时,网络就开始运转了,比如您想查看当前工作组下的所有计算机,可输入NET
VIEW命令。
   
不过,这时候大家都还是客户机,还没有服务器,必须安装服务器才可以共享文件。安装后可用NETSHARE命令设置共享路径,如将D盘设为共享,如果必要的话,还可以设置密码,以免非法访问。一旦设好服务器和共享,客户机就可以访问该计算机上的资源了。比如:NET
USE E:\PC\C命令就会将名称为PC的计算机上的共享名为C的驱动器(或文件夹)重定向到E盘,此时远程计算机上的内容就可以像本地计算机那样访问了。不过还有一点很重要,那就是要将MSCLIENT的文件和打印机的共享功能的设置打开,方法是用EDIT等文本编辑器打开MSCLIENT文件夹中的SYSTEM.INI,将[network]项中的filesharing和printsharing的值全部改为yes,保存并退出后就可以使用文件和打印机的共享功能了。
    如果想将使用DOS和使用Windows的计算机相联,也是完全可以的。由于Windows 3.11 for Workgroups,Windows
9x以及Windows NT/2K/XP中采用的是一种叫做“Microsoft Windows Network”的网络,和DOS下的Microsoft
Network Client
3.0是兼容的,所以它们之间可以实现非常完好的互相访问,就像DOS与DOS之间,或Windows与Windows之间的网络一样。不过要注意的是,若想要使用DOS的计算机访问使用Windows
NT/2K/XP的计算机,则一定要在Windows NT/2K/XP中设置DOS计算机的用户帐户,否则无法访问。
   Microsoft Network Client 3.0中有许多非常实用的命令,如PING等,如果您想知道这些命令及其用法,请见“DOS文章”栏目。
    除了使用MSCLIENT以外,还可以使用Netware等工具联网。以Netware
Lite为例,安装完后直接执行STARTNET.BAT即可自动调入对等网(包括服务器)。这时可用它自带的NET命令进行全屏幕的网络管理,也可以用命令行方式,比如NET
MAP命令可重定向到对方的计算机(当然需先设置共享)。更简单的方法是,在加载了IPX协议(IPXODI.COM)后,直接利用IPXCOPY.EXE命令(可在“DOS软件”中下载)进行文件传输,而不用启动服务器。方法是在一台计算机中用IPXCOPY命令启动接收器,在另一台计算机上用“IPXCOPY
文件名”命令进行传输,其中文件名可为通配符,也可用/S选项以指定包括子文件夹中的文件。当然还有其它的方法,这儿就不再介绍了。
   
以上谈的是局域网的联接方法,下面谈谈上Internet的方法。通常上网有两种方式,一种是拨号上网,即通过调制解调器,另一种是通过网卡。因此,上网的方法也有两种。不过共同点,就是它们都需要一个网络浏览器。DOS下最好的图形方式的浏览器是ARACHNE,功能十分强大,可在本站上下载。使用它进行拨号上网需要一个支持DOS的调制解调器(包括硬件的调制解制解调器或带有DOS驱动程序的软件调制解调器,也可以在Win9x的DOS窗口中使用),选择设置屏幕中的“使用Modem上网”后,Arachne会对调制解调器每个可能所在的端口进行检测,只要成功检测到一个就可以使用了。然后输入正确的电话号码,用户名及密码,就可以进行拨号了。如果是通过网卡上网的话则需要此网卡的Packet驱动程序,注意必须安装在地址0x60上,例如对于NE2000网卡可在DOS提示符下用NE2000
0x60命令进行安装。在ARACHNE中的设置屏幕中选择“使用网卡上网”,并选择DHCP自动配置,只要网络正常的话,就可以查看网页了。关于ARACHNE浏览器的具体使用方法,可见“DOS文章”栏目。
   
当然,DOS下真正联接到Internet还有许多种方法,如使用拨号适配器驱动程序(如DOSPPP),或者安装了网卡的Packet驱动程序后,用WATTCP程序(如WGET,Lynx)等都可以实现网上资料的读取。要想使用电子邮件,用Barebones
E-mail等程序就可以轻易实现收发电子邮件(需知道邮箱的POP3及SMTP服务器地址)。DOS下有关网络的程序很多,这里就不再详述了。

DOS未公开命令与参数

DOS系统中有许多未公开的命令与参数。由于DOS的种类很多,所以下面仅以MS-DOS为例,介绍一下常用命令中的未公开的命令与参数。
DOS未公开命令:
TRUENAME:用于显示实际的路径,对SUBST等命令很有用。
INSTALLHIGH:用在CONFIG.SYS中,将文件调入UMB。
LOGO和COMMENT:仅用在DOS7中的CONFIG.SYS中,用法未知。
DOS未公开参数:
COMMAND /F 使Fail作为Abort,Retry,Fail中的默认选项。
COMMAND /D 在DOS5中是禁止AUTOEXEC.BAT自动执行;在6.0+版本中是禁止/F参数。
COMMAND /Z 显示ERRORLEVEL(错误返回代码)信息。
COMMAND /T 在DOS7.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 用于DOS7中,跳过完整性测试。
FDISK /FPRMT 用于DOS7中,自动采用FAT32,并跳过提示信息。
DOSKEY /APPEDIT 使DOSKEY也应用于其它程序(如DEBUG等)中。
DOSKEY /COMMAND和/PERMANENT和/SCRSIZE和/XHISTORY 用法未知。
SCANDISK /CLIP 用于DOS7中,将长文件名剪为短文件名。
SCANDISK /NOLOST 用于DOS7中,不提示表面测试或丢失簇。
SCANDISK /NOUI和/TEXT 用于DOS7中,使用标准的DOS界面。
SCANDISK /MOUNT 相当于SCANDISK.INI中的Mount=Always。
SCANDISK /TIME 相当于SCANDISK.INI中的ScanTimeOut=On。
MEM /A或MEM /ALL 显示HMA信息。
VER /R 显示扩展的版本信息。
DIR /Z 用于DOS7中,不显示长文件名。
DOS=SINGLE 用在DOS7中的CONFIG.SYS中,启动单一模式的DOS。
DEVICE=HIMEM.SYS /Q 安静模式。
DEVICE=EMM386.EXE NOTR 不要检测Token Ring网络适配器。
以上是MS-DOS中的未公开命令与参数,其中有些是比较实用的,大家不妨一试。
---------

最好的内存虚拟盘软件XMSDSK的使用


随着时代的发展,电脑的内存越来越大,从原来的1M、2M、4M等发展到现在的128M、256M、512M,甚至更大。因此,合理分配和使用内存是非常重要的,以避免不必要的浪费。而且,内存和一般的外部存储设备,如大家通常使用的磁盘(包括硬盘、光盘等)相比,有着众多的优点,比如内存的速度非常快,通常比后者快上好几十倍;磁盘的容量是有限的,尤其是软盘,一张软盘的大小一般不过1.44M,因此启动盘中往往放不下所需的程序。因此,如果能够将内存当作磁盘设备来存放文件和数据的话,那无疑可以大大提高操作的速度、效率和方便性,而且可以让内存发挥最大的效用,即有效地使用内存。
为此,人们开发出了不少内存虚拟盘程序,例如DOS中自带的VDISK.SYS、RAMDRIVE.SYS等等。不过,这些程序都有一些缺点,例如它们需要在CONFIG.SYS文件中加载,而不能在DOS命令行上直接加载;一旦加载就不可调整内存盘的大小或删除;内存盘有容量限制,通常不能超过64M;而且它们自己也占用较多的常规内存。现在终于有人开发出了解决了以上所有问题的内存虚拟盘程序,那就是下面要介绍的XMSDSK(可在“磁盘工具”中下载)。
XMSDSK是一个较新的程序,而且相当强大实用和稳定。它是Furd内存工具包中的一个,故名思议,就是用XMS内存创建磁盘。因此,它必须在有XMS内存的情况下才能使用,通常只要加载DOS自带的HIMEM.SYS程序(如果是MS-DOS的话,最好使用7.10或以上版本,以让HIMEM.SYS支持64M以上的XMS内存),然后就可以随便使用它了。XMSDSK的好处太多了,比如除了可以在CONFIG.SYS中加载以外,还可以在命令行方式下无限次动态调节内存盘的大小或拆卸。它占用内存相当少,才几百字节的低端内存,而且能够自动调入到UMB(上位内存块),而不需用LH命令。它支持极大的内存(目前高达2G),因此比如我们有512M的内存,甚至可将所有的XMS内存都虚拟成磁盘。如果将它用于启动盘中的话,可以为此启动盘增色不少。它还有个非常有用的用途,因为有些软件,例如一些游戏软件(如仙剑奇侠传)等,只能在32M以下的内存中运行,这时就可使用XMSDSK来安装内存磁盘使空余XMS内存小于32M,让那些软件能正常运行。最重要的是,它使用起来非常简单,下面就来介绍一下它的实际使用方法。

XMSDSK的使用语法如下:
XMSDSK [内存盘大小] [驱动器] [选项]

其中,内存盘大小用KB来表示,例如4就表示4K,1024就表示1024K=1M等等,如果没有指定的话,会建立一个0K的内存盘。驱动器表示要指定的内存盘的驱动器字母,若无的话它会自动使用下一个驱动器字母。例如,如果目前驱动器只有A盘、B盘、C盘和D盘的话,则会自动将内存盘加载到E盘上。选项有以下:
/?: 查看命令行帮助;
/Y: 当执行操作时,不必进行确认,即默认为“是(Yes)”;
/U: 将内存盘拆卸,并退出内存。
/T: 将内存盘定位于XMS内存的顶部;
/C: 指定内存盘中扇区的簇大小。
而通常只用到它的/Y和/U选项。
当使用不带任何参数和选项的方法运行XMSDSK,即直接输入XMSDSK命令时,若XMSDSK当前已加载了的话,会提示您是否加载它;否则,它会自动显示出已加载的内存盘的状态信息,如内存盘的大小。
下面就来举一个XMSDSK使用的例子。例如,现在想建一个5M的内存盘,然后调整为10M,最后删除此内存盘以释放驱动器字母和使用的内存,而且当安装、调整和删除时不进行确认操作,那么就可以在DOS命令行下依次输入以下命令:

1:XMSDSK 5120 /Y(建立5M的内存盘)
2:XMSDSK 10240 /Y(将已建立的5M内存盘的大小调整为10M)
3:XMSDSK /U /Y(删除已加载的内存盘)

大家看,是不是非常方便?
总之,XMSDSK是目前DOS下最好最强大的用XMS内存虚拟磁盘的工具,它是RAMDRIVE.SYS等其它同类软件的最佳替代品。而且除了XMSDSK,还有同一作者出的与之对应的EMSDSK,即用EMS内存虚拟磁盘的工具,具体用法可以说和上面的XMSDSK是完全相同的,在此就不再详细介绍了。

-------

DOS下的必备工具
 
DOS是个非常强大实用的操作系统,有着最多的用户。但是我们在安装了DOS以后,发现DOS自带的命令并不能完成大家所需的各方面的功能。这时,我们就需要一些其它的软件来实现那些功能。DOS下的实用软件是非常多的,那么,我们应该在其中选择哪些工具作为必备工具来使用呢?下面就来分类讨论一下。

当安装了操作系统后,首先要使整个电脑的硬件发挥出各自的功能,比如鼠标,光驱,声卡等等。这时就需要有相应的驱动程序,而这些驱动程序就是DOS下的必备工具。这些驱动程序可在本站的“DOS软件”中下载,而安装与设置方法请见本栏目的“DOS下硬件设备的使用与设置”。

将硬件都能正常工作了以后,就要让DOS来完成所需的功能了。DOS既是个方便实用的操作系统,又是一个基础操作系统,许多界面增强程序(如Windows 3.x/9x)都是建立在它的基础上实现的,即DOS是它们的内核。因此,在DOS下进行一些系统和磁盘的管理是十分合适的,例如复制磁盘,分区,格式化等等。这时,GHOST,FDISK,FORMAT及PQMAGIC等磁盘工具就可以大显身手了,可以当作是DOS下的必备工具。当然,其它的系统维护工具(如磁盘检查工具等)也非常重要,大家可在本栏目的“DOS系统的维护”中看到。

大家知道,为了节省空间,很多文件都是使用压缩的方法来存取的。因此,DOS下进行压缩和解压的工具是非常重要的。常用的压缩格式有ZIP,RAR及ARJ等,而能够建立和展开这些压缩格式的DOS工具分别是PK(UN)ZIP,(UN)RAR及(UN)ARJ。它们的操作都十分方便快捷,如PKUNZIP *.ZIP就可以将当前文件夹下所有的ZIP文件展开。RAR和ARJ格式也是一样,可以建立或展开相应的压缩文档。不过要注意,由于RAR近年来在3.0版本中采用了新的RAR压缩格式,所以许多新的RAR文件应用最新版本的RAR(即3.0版)来解压,可在本站的“压缩工具”中下载。除了压缩一般文件,还可以压缩可执行文件,即将可执行文件的体积变小。最好的可执行文件的压缩工具是UPX,功能非常强大,可以作为必备工具。

还有部分文件叫作映像文件,如IMG文件,它们中有很多是用HD-COPY产生的,当然还有其它的工具。解压这些文件最好的方法是用UNDISK(可在本站下载),它可以非常高效的将映像文件展开,可作为必备工具。最好不要用HD-COPY等工具来解压这些文件,因为此工具不仅旧,而且只能将文件展开到软盘上,非常不方便。刚才提到的UNDISK则要好用得多。

那么如果不知道一些文件是什么压缩格式的情况怎么办呢(尤其是当扩展名丢失的时候)?这时,可用DOS下的一个非常强大的工具GetType,它的最新版本是2.60,可在本站中下载。它可以非常详细的显示压缩/映像/加密文件中的信息,甚至可以将里面的内容全部显示出来,而不需其它任何软件。不仅如此,它还可以显示可执行文件(包括Windows文件)和其它文件中的信息,非常强大,而且支持长文件名。大家可以将它当作必备工具,因为一旦有了它,操作起来就方便多了。

大家知道,Windows的文件管理器操作起来非常直观,DOS下也有很多的这样的工具,可在本站的“文件管理”中找到。它们也都是以图形方式进行操作,通常除基本的文件管理功能以外,还能实现其它许多功能,如自带文件编辑器,可以查看压缩文件中的内容等,而且近年来DOS下的文件管理工具还增加了支持长文件名和FAT32的功能。这些工具中,比较实用的有Volkov Commander等,它们的界面都不错,功能也很强,大家可以将它们作为必备工具来使用。

使用DOS自然会经常与文件和文件夹打交道,因此,如何很好的使用这些文件和文件夹就非常重要。常用的文件操作如建立,删除,编辑等,既可用DOS自带的命令,也可用许多增强工具,这样可以大大提高文件操作的效率。这些工具可在本站的“文件工具”中下载,本站的文件工具中大都支持长文件名和FAT32分区。纯DOS通常只能使用短文件名,那么如何让它使用长文件名呢?其实,实现起来并不难,通常有长文件名驱动程序和直接操作长文件名两种方式,对应的工具分别有DOSLFN/LFNDOS和Odi's LFN tools,非常实用,可以作为必备工具。具体在纯DOS下使用长文件名的方法请见本站的“DOS文章”栏目中的文章。

随着电脑的发展,越来越多的人开始使用它,所以许多日常生活上的事(比如写文章,听音乐,看图像等)都在电脑上进行了。那么,如何在DOS下进行这些操作呢?先说写文章。DOS中自带一个EDIT命令,可以编辑多个文件和二进制文件,不过功能并不是很强大(比如不能设置字体等),可以使用其它专门的文字处理工具来完成。这些工具中著名的有MS-Word,CCED,WPS等,可在本站“文本”工具中下载。有些人喜欢一边打字一边听音乐,在DOS下当然也可以实现。以SETEDIT为例,这是一个非常强大实用的DOS字处理软件,不仅具有字处理的功能,还可以一边写文章一边听MP3音乐,多么好啊!因此可以将它们作为必备工具。

说完了在DOS下的文书处理,接下来就是听音乐和看图像等等操作了。DOS下听音乐和看图像的软件非常多,比如可以听WAV,MID,MP3等格式的音乐,功能和效果都非常好(绝不是最旧最差的MP3播放器DOSAMP的那种播放效果),具体可在本栏目的“DOS下的多媒体”中看到。比如QuickView,它的体积就非常小,功能却很强大,大家可将它作为必备工具。在DOS下看图像也非常方便,通常有两种方式,一种是命令行方式,一种是图形界面方式。以PictView(可在本站的“图形软件”中下载)为例,它可以播放40多种图形格式,如JPG,GIF,BMP,TGA,ICO,GIF等等,不仅速度快,质量和效果好,而且它的体积非常小,才100多K!因此,完全可以将它作为必备工具来使用。但有些图像软件,尤其是旧的图像软件,如NV等,不仅速度慢,播放质量差,而且体积也很庞大,所以最好不要使用。

DOS下还有许多非常强大实用的软件,也可以做为必备工具。DOS软件通常都很小巧实用,这自然大大方便了大家的使用。比如SHUTDOWN和POWEROFF等命令可以轻易在DOS命令行方式下实现软关机,不仅操作起来很方便,而且体积非常小,大家就可以将它们作为必备工具。还有一些DOS命令的增强工具,可以大大增强DOS自带的外部的功能,如XXCOPY,XMSDSK等等,可以在本站中下载。为了方便大家的使用,我制作了“DOS常用工具集”,包括了以上各类软件(如命令行工具,驱动程序,系统工具,磁盘工具,压缩工具,多媒体软件等)的直接运行版本,放在本站“DOS软件”栏目的“DOS系统”中,欢迎大家下载使用。

由于每个人的习惯和爱好都不相同,所以每个人所进行的主要操作也并不相同。比如有些人喜欢编程序,或编批处理文件,就可将一些实用的编处理工具(可在本站的“脚本工具”中下载)作为必备工具;有些人喜欢玩游戏,就可以将一些游戏修改软件或模拟器(可在本站的“游戏软件”中下载)作为必备工具。因此,大家还可以根据自己的喜好来选择适合于自己的必备工具。不过,大家应尽量使用那些近几年来新推出的DOS软件,因为这些软件不仅整体而言功能更强,而且支持最新的电脑技术(如FAT32分区,大硬盘,长文件名,PCI/USB设备等)。总之,只要我们善于选择和使用DOS软件,就可以将DOS变得非常强大,让DOS发挥出应有的功能。

-------

DOS命令行下常见的错误信息
 
大家在使用DOS的过程中,经常在命令行方式下遇到一些错误信息提示,由于往往是英文的,导致一些人看到后不知是怎么回事,更不知该如何解决了。下面,我就将常见的DOS命令行方式下的错误信息向大家介绍一下。

[英文] Bad command or file name
[译文] 错误的命令或文件名

错误原因和解决:

这大概是大家最常见到的错误提示了,它的意思是输入的命令无效。当输入的命令既不是DOS内部命令,而且系统在查找路径或指定路径中找不到相应的可执行文件的话,就会出现此错误信息。您可以检查输入的命令是否正确,如是否打错了字母等。

[英文] Access Denied
[译文] 拒绝存取

错误原因和解决:

这也是一个常见的错误,出现的情况很多,如在用DEL命令删除具有只读属性的文件,或者在多任务环境下有多个进程同时存取同一文件,以及试图在设有只读权限的网络文件夹中写入文件的时候。解决的方法也很简单,只需去掉文件的只读、隐含等属性,或保证同一时候只有一个进程在读写文件,及去掉网络文件夹的只读权限即可。

[英文] Drive not ready
[译文] 驱动器未准备好

错误原因和解决:

相信大家都遇到过这个错误信息吧!尤其是在存取可移动磁盘(包括软盘和光盘)的时候更是常见到。解决方法是将磁盘插好后重试即可。

[英文] Write protect error
[译文] 写保护错误

错误原因和解决:

当试图向写了保护的磁盘(通常是软盘)写入信息的时候就会出现该错误。将磁盘的写保护去掉即可。

[英文] General error
[译文] 常规错误

错误原因和解决:

此错误通常出现在DOS无法识别指定的磁盘的格式的情况下,如软盘未格式化。用FORMAT等命令格式化磁盘或转换成DOS能识别的格式即可。

[英文] Abort,Retry,Ignore,Fail?
[译文] 中止,重试,忽略,失败?

错误原因和解决:

此错误信息的出现频率非常高,比如在磁盘未准备好的时候。输入A则取消操作,然后返回DOS提示符下,输入R则表示再试一次,输入I则表示忽略此错误并继续,最好不要使用,输入F则表示跳过此错误,经常选择此项。

[英文] File not found
[译文] 文件未找到

错误原因和解决:

在使用很多命令的时候若找不到指定的文件就会出现该提示。例如使用DIR命令的时候,若指定的文件不存在,该错误信息就会出现。解决方法是将文件名输入正确。

[英文] Incorrect DOS version
[译文] 错误的DOS版本

错误原因和解决:

当要执行的命令发现当前的DOS版本与这个命令所期待的DOS版本不相同的时候就会出现此错误信息。具体情况和解决方法请见本站的“DOS文章”栏目中的文章。

[英文] Invalid directory
[译文] 非法目录

错误原因和解决:

如果输入了不存在或无效的目录的时候就会出现该提示。可检查是否输入有误。

[英文] Invalid Drive Specification
[译文] 指定的驱动器非法

错误原因和解决:

当输入的驱动器不存在的时候就会出现该提示。请检查是否存在该驱动器。有些驱动器(如NTFS卷,光驱,网络驱动器等)则需要加载相应的驱动程序才能被识别。

[英文] Syntax error
[译文] 语法错误

错误原因和解决:

此命令在使用一些批处理命令(如IF,FOR等)时比较常见,可检查是否输入了无效的语法。以FOR命令为例,它的语法是FOR %F IN (文件名) DO 命令,不能将此语法格式弄错了(如输反了或漏了等),必须输入正确的命令才能得到相就的结果。

[英文] Required parameter missing
[译文] 缺少必要的参数

错误原因和解决:

如果在执行命令(如DEL)漏掉了它要正常完成功能所需的参数时,就会出现该提示。

[英文] Invalid parameter
[译文] 非法参数

错误原因和解决:

出现在执行命令时输入了无效的参数。可以检查输入的参数是否正确,有没有拼写错误等。如果您不知道有哪些参数的话,通常可以使用此命令的/?选项来看参数列表。

[英文] Not enough memory 或 Insufficient memory
[译文] 内存不足

错误原因和解决:

如果在执行程序时程序发现所需的内存大于可以使用的内存(通常是指常规内存)时就会出现此信息。造成内存不足的情况如执行了过多过大的内存驻留程序,或系统内存未经过很好的配置等。大家可以看本栏目中的“DOS下内存的配置”。

[英文] Divide overflow 或 Divide by zero
[译文] 除数为零

错误原因和解决:

如果在系统不稳定,与其它程序有冲突,或程序本身有问题的情况下运行程序的话就会出现此错误。可以重新启动系统后再运行此程序试试。

[英文] Runtime error xxx
[译文] 运行时间错误xxx

错误原因和解决:

和以上的“除数为零”错误类似。如果xxx的值为200的话,可以见“DOS文章”栏目。

[英文] Error in EXE file
[译文] EXE文件有错误

错误原因和解决:

通常是这个可执行文件已经损坏,已不能够再使用。使用一个好的就可以了。

以上是常见的DOS命令行方式下的错误信息,大家可以利用上文将故障排除。
----------

DOS下的多媒体


在许多人的印象中,DOS是个单任务的文本模式的操作系统,哪儿会有什么或者说是较好的多媒体功能呢?其实不然。比如,Windows 3.x和Windows 9x只不过是建立在DOS基础上的大型保护模式的应用程序,为何它们也能播放精采的多媒体文件呢?所以,DOS下实现多媒体功能是完全可以的。

注意,如果要在DOS下用声卡播放声音,首先需要设置好声卡。具体方法请见本栏目中的“DOS下硬件设备的使用与设置”。

当然,DOS操作系统本身并不带有多媒体命令,而需要专门的多媒体软件,这就像我们玩游戏需要专门的游戏软件一样。DOS下的多媒体软件有很多,旧的有SEA等,不过近几年来随着多媒体技术的发展,DOS下多媒体软件也明显增多了,如QuickView Pro, Cubic Player, MPXPlay等等,大家可以到“DOS软件分类下载”中下载。这些软件普遍可以播放WAV,MP3等格式的文件,有的则支持更多的格式,如Cubic Player,不仅支持的格式很多,包括WAV,MP3,MID,RMI,ASF,MOD,S3M,IT,ASF,669,CD音频等等,而且界面非常不错。注意大多数MP3文件播放器最好在586以上的电脑下使用,以发挥最好的效果,在486或以下电脑上播放MP3时可能会出现断音,而WAV等格式则没有问题。另外,有些人在原来曾使用过DOSAmp来播放MP3文件,觉得它的播放效果不好而认定DOS下播放MP3都不好。其实这是不对的。因为DOSAmp其实是DOS下最旧且功能和效果都是最差的MP3播放器,现在早已被淘汰了。我虽然经常在DOS下听MP3歌曲,却非常不喜欢用DOSAmp而是使用其它在DOS下播放较果非常好的MP3播放器进行播放。大家可以在“媒体软件”中找到。

在这么多的软件中,我向大家推荐QuickView Pro,它是一个非常强大的多媒体软件,不仅支持播放MP3,WAV等,还可以查看许多格式的图片,如JPG,GIF,BMP,TGA,PCX等等,甚至可以观看多种媒体格式,如MPG,MOV,AVI,FLC/FLI,以及VCD。它也支持播放列表及循环播放,还可以显示长文件名(如果您想在纯DOS下显示长文件名的话,可以在“DOS软件”中下载DOSLFN或LFNDOS,其中后者的1.07版支持中文长文件名)。它的播放较果非常好,完全可以与WinAmp相比,而且还在不断更新中。它支持命令行和图形界面两种模式,您可以在图形界面中选择一个或多个文件来播放,或者在DOS方式下用QV *.MP3命令就可以播放当前文件夹中所有MP3歌曲,或QV /@SONGS.M3U则播放列表文件SONGS.M3U中指定的所有文件。若想看VCD的话,则用QV /VCD命令。在播放的过程中,您还可以进行各种控制,例如空格键暂停播放,要想继续则按其它任意键;按光标左右键可以快进/快退;按回车或TAB键播放下一文件,按退格键播放上一文件,按+/-键调节音量等等。QuickView只需QV.EXE一个文件就可以运行,而且体积很小,比如2.43版只有180K!它的最新版本是2.49版,于不久前推出,不过因为是共享版本,所以我对它的2.46版做了注册破解和全面汉化(即汉化注册版),可在“媒体软件”中,欢迎大家下载使用,以鼓励它的作者继续开发这个优秀的DOS软件。

除此之外,还有MegaMid,MidPlay等全屏幕的MIDI播放器也非常不错,不仅界面很好,功能也很强大。它们都可以显示MIDI音乐中的字幕(如果有的话),操作也十分简单。至于VCD的播放,上面的QuickView Pro,还有Mpegone等等都可以做到,效果也很好。

总之,DOS下的多媒体功能是非常强大的。如果您有兴趣的话,也可以为“DOS开发”栏目开发一个DOS下多媒体软件,以帮助广大的DOS使用者与爱好者们,我们将非常感谢您!

--------

DOS下联网的方法


随着计算机和网络的普及,计算机之间的联网操作(如文件的传输,聊天等)显得越来越重要了。既然DOS有这么多的用户,那么如何用它来实现联网呢?DR-DOS 7.xx中自带联网(包括局域网和TCP协议)的功能,可是我们大家常用的MS-DOS却没有。但是,并不是没有办法,只是需要一些附加的软件。比较好的有Netware Lite 1.x和Microsoft Network Client 3.0(均可在本站的“网络工具”中下载),下面以后者为例,讲述一下局域网的实现方法。

首先在需要联网的计算机中安装Microsoft Network Client 3.0(后文简称MSCLIENT),安装中输入各自的工作组,计算机名和IP地址,以及用户名和密码,并在列表中选择安装的网卡的型号。如果列表中没有您的网卡的话,则需要网卡自带的驱动程序,通常在一张软盘中,也有可能在光盘中。当它提示输入OEM盘的时候,您就插入网卡的驱动程序磁盘,然后输入合适的路径。由于各网络系统所需的网卡驱动程序并不一样,而对于MSCLIENT一般则选择驱动盘中的NDIS2或MSCLIENT文件夹,如A:\MSCLIENT。只要正确的话,它就会进行自动安装了。至于网络协议,一般只要有NetBEUI和TCP/IP协议就够了,装太多会减慢网络的速度。安装完成后,MSCLIENT会自动将网络启动命令放入AUTOEXEC.BAT中,重新启动计算机后就会发现网络自动启动了。当系统提示输入用户名和密码时,输入刚才设置的就可以了。这时,网络就开始运转了,比如您想查看当前工作组下的所有计算机,可输入NET VIEW命令。

不过,这时候大家都还是客户机,还没有服务器,必须安装服务器才可以共享文件。安装后可用NETSHARE命令设置共享路径,如将D盘设为共享,如果必要的话,还可以设置密码,以免非法访问。一旦设好服务器和共享,客户机就可以访问该计算机上的资源了。比如:NET USE E: \\PC\C命令就会将名称为PC的计算机上的共享名为C的驱动器(或文件夹)重定向到E盘,此时远程计算机上的内容就可以像本地计算机那样访问了。不过还有一点很重要,那就是要将MSCLIENT的文件和打印机的共享功能的设置打开,方法是用EDIT等文本编辑器打开MSCLIENT文件夹中的SYSTEM.INI,将[network]项中的filesharing和printsharing的值全部改为yes,保存并退出后就可以使用文件和打印机的共享功能了。

如果想将使用DOS和使用Windows的计算机相联,也是完全可以的。由于Windows 3.11 for Workgroups,Windows 9x以及Windows NT/2K/XP中采用的是一种叫做“Microsoft Windows Network”的网络,和DOS下的Microsoft Network Client 3.0是兼容的,所以它们之间可以实现非常完好的互相访问,就像DOS与DOS之间,或Windows与Windows之间的网络一样。不过要注意的是,若想要使用DOS的计算机访问使用Windows NT/2K/XP的计算机,则一定要在Windows NT/2K/XP中设置DOS计算机的用户帐户,否则无法访问。

Microsoft Network Client 3.0中有许多非常实用的命令,如PING等,如果您想知道这些命令及其用法,请见“DOS文章”栏目。

除了使用MSCLIENT以外,还可以使用Netware等工具联网。以Netware Lite为例,安装完后直接执行STARTNET.BAT即可自动调入对等网(包括服务器)。这时可用它自带的NET命令进行全屏幕的网络管理,也可以用命令行方式,比如NET MAP命令可重定向到对方的计算机(当然需先设置共享)。更简单的方法是,在加载了IPX协议(IPXODI.COM)后,直接利用IPXCOPY.EXE命令(可在“DOS软件”中下载)进行文件传输,而不用启动服务器。方法是在一台计算机中用IPXCOPY命令启动接收器,在另一台计算机上用“IPXCOPY 文件名”命令进行传输,其中文件名可为通配符,也可用/S选项以指定包括子文件夹中的文件。当然还有其它的方法,这儿就不再介绍了。

以上谈的是局域网的联接方法,下面谈谈上Internet的方法。通常上网有两种方式,一种是拨号上网,即通过调制解调器,另一种是通过网卡。因此,上网的方法也有两种。不过共同点,就是它们都需要一个网络浏览器。DOS下最好的图形方式的浏览器是ARACHNE,功能十分强大,可在本站上下载。使用它进行拨号上网需要一个支持DOS的调制解调器(包括硬件的调制解制解调器或带有DOS驱动程序的软件调制解调器,也可以在Win9x的DOS窗口中使用),选择设置屏幕中的“使用Modem上网”后,Arachne会对调制解调器每个可能所在的端口进行检测,只要成功检测到一个就可以使用了。然后输入正确的电话号码,用户名及密码,就可以进行拨号了。如果是通过网卡上网的话则需要此网卡的Packet驱动程序,注意必须安装在地址0x60上,例如对于NE2000网卡可在DOS提示符下用NE2000 0x60命令进行安装。在ARACHNE中的设置屏幕中选择“使用网卡上网”,并选择DHCP自动配置,只要网络正常的话,就可以查看网页了。关于ARACHNE浏览器的具体使用方法,可见“DOS文章”栏目。

当然,DOS下真正联接到Internet还有许多种方法,如使用拨号适配器驱动程序(如DOSPPP),或者安装了网卡的Packet驱动程序后,用WATTCP程序(如WGET,Lynx)等都可以实现网上资料的读取。要想使用电子邮件,用Barebones E-mail等程序就可以轻易实现收发电子邮件(需知道邮箱的POP3及SMTP服务器地址)。DOS下有关网络的程序很多,这里就不再详述了。

------

DOS下硬件设备的使用与设置


由于电脑的普及和应用的日益深入,为了满足人们的需要,电脑的功能随着它的发展变得越来越强大,硬件设备也越来越多,如从原来的ISA及PCI声卡、调制解调器等到现在的USB硬盘、鼠标等,而且品牌多种多样。那么,我们应该如何在DOS下使用与设置这些设备呢?

其实有很多硬件设备在DOS下不需安装任何的驱动程序,只要硬件或将BIOS设置好就可使用,如键盘,普通的硬盘和支持PCL(打印机控制语言)的打印机等。在DOS下使用支持PCL的打印机非常容易,因为打印机连接在并行端口(LPT)上,所以通常LPT1或PRN就是打印机端口。比如COPY C:\CONFIG.SYS LPT1命令(当然也可直接使用PRINT C:\CONFIG.SYS命令)就可将C:\CONFIG.SYS文件中的内容用打印机打印出来。大家看,是不是很方便呢?当然,要在一些DOS应用程序中打印出更好的效果(如各种字体,图像等),还需要专门的打印机驱动程序,在这些应用程序中的“打印机设置”中选择合适的打印机即可。

和打印机类似的是调制解调器。调制解调器是电脑拨号上网时的必用设备,分为内置和外置两大类。外置调制解调器通常接在电脑的串行端口(通信端口COM)上,如COM2。传统的内置调制解调器通常也可以自动虚拟串行端口,所以和外置调制解调器的使用相差不大。DOS下有大量与调制解调器有关的通信程序,如果调制解调器接在COM3上,使用这些程序时使用COM3就行了。如果您想在DOS下用简单的命令测试一下调制解调器,可用ECHO ATDT12345>COM3(假设调制解调器连在COM3上),这时它就会拨号(12345),使用也非常方便。然而,随着硬件的发展,许多非传统的新型调制解调器出现了。这些新型调制解调器没有硬件控制器,需要用软件虚拟,所以叫软件调制解调器,或叫WinModem。原来ISA接口的调制解调器大多是传统的硬件调制解调器,而PCI接口的调制解调器则有许多是软件调制解调器。软件调制解调器和硬件调制解调器相比,由于没有硬件控制器,所以成本要低些,但是性能自然要差些,而且需要驱动程序才可运行。所以,在DOS下必须装载相应的驱动程序才可使用。但由于这些调制解调器主要是为Win9x设计的,所以大多都没有DOS下驱动程序,所以无法在纯DOS下使用,不过有很多调制解调器通过虚拟可在Win9x的DOS窗口下使用。

再谈谈大家经常使用的鼠标与光驱。由于鼠标和光驱较早就广泛使用了,所以DOS自带它们的驱动程序或扩展程序,如MOUSE和MSCDEX,不过MSCDEX还需要光驱的自带驱动程序。然而,随着DOS的发展,这些程序已越来越不实用了,现已有很好的替代程序,如最新最好的鼠标驱动程序Cute Mouse(CTMOUSE)。CTMOUSE是一个仍在开发中的非常实用的鼠标驱动程序,和DOS自带的或其它鼠标驱动程序相比,它具有无可比拟的优点,如速度非常快,占用内存非常小(才3.3K),通用性非常强,以及有多种语言显示(暂无中文,不过如果大家喜欢的话我可以去汉化)等优点,因此我强烈推荐大家使用,可在“DOS软件”中下载。DOS下通用的光驱程序也有很多,如Win98启动盘中OAKCDROM等。但最好的是“DOS软件”中的VIDE-CDD.SYS,因为它具有速度快,占用内存小(才5K,而OAKCDROM需占30多K,其它的则占得更多),通用性非常强(可驱动各种品牌非USB的CD-ROM/CD-R/CD-RW/DVD-ROM/DVD-R/DVD-RW,我所试的光驱用它无一驱动失败)。再将CLOAKING与MSCDEX合用,可极大的减少内存的占用,大家可见本栏目中的“DOS下内存的配置”及“CONFIG.SYS文件的命令与配置”以获得具体配置情况。至于USB的鼠标与光驱,请见下文。

现在电脑已进入了多媒体时代,故声音和图像都是不可缺少的,因此,声卡显得十分重要。那么,在DOS下如何使用声卡呢?在DOS下使用声卡最重要的一点是需将BLASTER环境变量设置成正确的值,比如SET BLASTER=A220 I7 D1 H6 P330 T6等,其中A表示硬件地址,I表示中断号,D表示低端DMA,H表示高端DMA,P表示MPU401的地址,T表示声卡类型。A通常为220,I则主要有5和7两种可能,P经常是330,T则对应着您的声卡的类型(T1表示SB 1.0,T2表示SB 1.5,T3表示SB 2.0,T4表示低版本的SB Pro及其兼容,如ESS688等,T5表示高版本的SB Pro,T6表示SB 16及其兼容,如SB AWE及SB PCI等)。对于ISA声卡,通常使用自动设置的值即可,比如ESS688声卡的默认值是A220 I5 D1 T4,也可以使用自带的设置程序如ESSCFG重新设置;对于PCI声卡,有的可以使用SB-Link技术,其它的大多可以使用自带的驱动程序虚拟ISA声卡以使用,如SB PCI,SB Audigy,C-Media 8738,SiS 7018等PCI声卡的驱动程序可在“驱动程序”中下载,SB Live!,Yamaha及Aopen等声卡也可使用其自带的驱动程序以实现在纯DOS下使用PCI声卡,或者在Windows的DOS窗口中使用。要想设置PCI声卡的设置参数,可以使用自带的设置程序,如SB Live!声卡的驱动程序中就有SBECFG命令,或者编辑它的配置文件,如SB PCI的驱动程序中的SBPCI.INI文件。

接下来就是网卡和显卡了。网卡的情况比较特殊,各网络环境需要各自的网卡驱动程序。对于ISA网卡,由于绝大多数是NE2000兼容,所以可以使用NE2000网卡的驱动程序,可在“DOS软件”中下载。网卡自带的磁盘中多有很多文件夹,分别是各网络环境的单独驱动程序,如MSCLIENT或NDIS2文件夹上是用于Microsoft Network Client(MSCLIENT)及LAN Manager的网卡驱动程序,NWCLIENT或DOSODI文件夹上则是用于Netware的网卡驱动程序。以Netware Lite为例,要启动IPX/SPX协议,需首先加载LSL.COM,然后是网卡的ODI驱动程序,如SIS900网卡的是SIS900.COM,加载完后再运行IPXODI.COM即可。而对于MSCLIENT,SIS900网卡的驱动程序是SIS900.DOS,网络启动时会自动加载。对于显卡,不像Windows,DOS下不需要专门的驱动程序即可显示高彩色甚至真彩色的文字及图像,但有显示扩展驱动程序,如VESA 3.0显示驱动程序Scitech Display Doctor等,可在“DOS软件”中下载。

然后就是USB硬件设备的使用了。许多人认为DOS下无法使用USB设备,其实不然。新的BIOS中就有“USB for DOS”功能,还有不少的DOS下USB设备驱动程序,如DUSE,USB_CD等,可在“DOS软件”中下载。以DUSE为例,这是一个DOS下通用的USB移动盘的驱动程序,包括USB硬盘,光驱,软驱等,许多人利用它成功地驱动了自己的USB设备,如USB的CD-RW等;OHCI/UHCI则分别为OHCI/UHCI类型的USB鼠标驱动程序;USB_CD则是一个单独的USB光驱驱动程序;USB4DOS则提供DOS下使用USB设备的功能。不过我没有USB设备,所以还没有用过。欢迎大家使用它们,并将使用结果告诉我,谢谢!

近些年来还出现了不少新的硬件,DOS下也完全可以使用它们。以ATX电源为例,DOS下的一些软件就可以利用它来实现软关机,如ShutDown,PowerOff等命令,可在“DOS软件”中下载。DOS下用这些软件来实现软关机有很多好处,比如用在批处理文件中时可指定在运行完某程序后或在指定的时间自动关机,还可以实现网络中的“远程唤起”等功能,好处多多。由此可见DOS的强大功能了。如果大家喜欢DOS的话,不如来参加“DOS开发”栏目以开发出新的DOS软件,共同让DOS继续发展壮大吧!

--------

DOS系统的维护


一个系统只有进行好的维护,才能发挥出好的效果。那么,对于DOS系统,应当如何维护呢?

首先,要定期检查磁盘的错误。DOS下有许多命令可以用来检查磁盘,如CHKDSK,SCANDISK等。而一个更强大的磁盘工具则是Norton的Disk Doctor(磁盘医生),它有着友好的界面和强大的功能,可在“DOS软件分类下载”中下载。只有定期检查磁盘,才能保证磁盘使用的稳定性。

其次,要定期检查病毒。计算机病毒是一种能严重危害系统安全和数据完整的破坏性程序,如果任其发作,可能会造成严重的损失。所以,定期检查病毒是非常重要和必要的。要检查病毒,需要使用好的杀病毒软件,而且注意经常升级病毒库,否则起不到应有的效果。实用的DOS下杀毒软件有F-PROT,Norton AntiVirus,KV3000等,可以在“DOS软件分类下载”中下载。当然,光使用杀毒软件,却不注意防范,也是不行的。防毒通常比杀毒更有效,因为防毒可以大大减少病毒感染的可能性。防毒的方法有多种,如使用病毒防火墙程序,不要使用来历不明的软件等。通过这些方法,病毒通常无法侵入。

然后,要定期备份重要的数据。因为即使采用了前面的两种措施,也只能大大降低数据被破坏的可能性,而不是高枕无忧了。由于误操作或硬件故障等原因造成的数据丢失情况随时都可能发生。因此,备份数据就十分必要了。通常可将它们备份到软盘或其它硬盘中以防不测,以免到时后悔莫及。

当然,还需要进行一些其它维护,如定期整理磁盘碎片,删除垃圾文件,以及将文件和软件归类以方便使用等。

对于系统配置的维护也是非常重要的,也可以使用一些工具软件来进行自动维护,如用MEMMAKER等。这样可以有效地节省时间和精力

---------

DOS下内存的配置


我们大家都知道,DOS大体上不能够完全依靠人机界面的方式来一步步地完成系统的配置。若要让系统发挥出最大的性能,必须依靠我们的进一步努力。下面介绍一下DOS内存的配置方法。

实模式的DOS通常只能使用1M以下的内存空间。其中基本内存为640K,而上位内存则需要相应的内存管理器。基本内存的管理尤为重要,因为使用不当会造成一些程序无法运行。那么,应如何优化使用它呢?这儿有一些建议。

首先,加载提供上位内存(UMB)的内存管理器。通常有EMM386和QEMM等,不过这些工具自身占用的内存较大,在此推荐的是UMBPCI,这是一个仍在发展的工具,可提供最大高达162K的UMB,而且如果放在HIMEM前可完全不占用基本内存。然后,将所有的设备驱动程序/TSR调入UMB(用DEVICEHIGH,LOADHIGH等),这样,即使加载许多驱动程序(如光驱,鼠标等),剩下的基本内存仍会很高,甚至630K。要注意的是,尽量使用占内存较少的驱动程序,以便空出最多的UMB。

以下是在我的电脑上(MS-DOS 7.10)用MEM/A/C命令显示出的内存状态信息:

Modules using memory below 1 MB:

Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 32,736 (32K) 9,664 (9K) 23,072 (23K)
HIMEM 1,168 (1K) 0 (0K) 1,168 (1K)
SETVER 864 (1K) 0 (0K) 864 (1K)
VIDE-CDD 5,024 (5K) 0 (0K) 5,024 (5K)
CLOAKING 1,168 (1K) 0 (0K) 1,168 (1K)
IFSHLP 2,864 (3K) 0 (0K) 2,864 (3K)
COMMAND 7,424 (7K) 0 (0K) 7,424 (7K)
KILLER 400 (0K) 0 (0K) 400 (0K)
WATCH 3,392 (3K) 0 (0K) 3,392 (3K)
MSCDEX 2,816 (3K) 0 (0K) 2,816 (3K)
DOSKEY 5,744 (6K) 0 (0K) 5,744 (6K)
CTMOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
ZENO 1,376 (1K) 0 (0K) 1,376 (1K)
ESCAPE 496 (0K) 0 (0K) 496 (0K)
Free 750,080 (732K) 645,328 (630K) 104,752 (102K)

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 10,032 645,328
Upper 163,904 59,152 104,752
Reserved 393,216 393,216 0
Extended (XMS) 49,119,168 82,880 49,036,288
---------------- ----------- ----------- -----------
Total memory 50,331,648 545,280 49,786,368

Total under 1 MB 819,264 69,184 750,080

Largest executable program size 645,312 (630K)
Largest free upper memory block 103,952 (102K)
Available space in High Memory Area 5,360 (5K)
MS-DOS is resident in the high memory area.

从上表中可以看出,我加载了以下内存驻留程序及驱动程序:

HIMEM:DOS中自带的XMS驱动程序。
SETVER:DOS版本表程序。
VIDE-CDD:通用光驱驱动程序。如果您的光驱是USB的,则用DUSE。
CLOAKING:内存CLOAKING API及DPMS驱动程序,以节省MSCDEX的内存占用。
IFSHLP:32位的磁盘服务程序,用于Windows 9x中,可以不加载。
COMMAND:DOS命令处理器。
KILLER:自动截获不正确的指令,防止死机。
WATCH:TSR Utils中的一个,DISABLE命令利用它可以禁止其它TSR程序的功能。
MSCDEX:和CLOAKING程序合用的MSCDEX,只占不到3K内存,否则要占约30K。
DOSKEY:DOS自带的键盘缓冲和历史程序。
CTMOUSE:DOS下通用的鼠标驱动程序,占内存小,速度也非常快。
ZENO:显示加速程序。
ESCAPE:在任何时候都可以按F12键退回到DOS方式下,以防止死机。

当然,我还加载了不少非内存驻留程序。如果您想知道我的CONFIG.SYS文件中的具体设置内容,可看下面的“CONFIG.SYS文件的命令与配置”。

CONFIG.SYS文件的命令与配置


CONFIG.SYS是DOS系统中的一个重要文件,它的配置直接影响到系统的使用及其效率。如果配置不当的话,可能很多程序都无法正常运行。因此,正确合理地配置CONFIG.SYS文件是十分必要和重要的。下面我向大家介绍一下CONFIG.SYS中的命令及其配置方法。

CONFIG.SYS中的命令:
注意:所有以HIGH结尾的命令(如DEVICEHIGH)表示将其调入UMB(上位内存),但有些这样的命令(如FILESHIGH)必须在MS-DOS 7.x版本中使用。

ACCDATE:指定对每一个驱动器是否记录文件最后被访问的日期。
用法:ACCDATE= 驱动器 1+|- [ 驱动器 2+|-]...
如:ACCDATE=C+ D+ E+将在C,D,E盘中记录文件最后被访问的日期。
此命令仅用于MS-DOS 7.x中。

BREAK:设置或清除扩展的CTRL+C检查。
用法:BREAK=ON|OFF

BUFFERS/BUFFERSHIGH:为指定数量的磁盘缓冲区分配内存。
用法:BUFFERS=磁盘缓冲区数量,[从属高速缓存中的缓冲区数量]

DEVICE/DEVICEHIGH:将指定的设备驱动程序装入内存。
用法:DEVICE/DEVICEHIGH 文件名 [参数]
其中,文件名是文件的完整路径,如C:\DOS\HIMEM.SYS。

DOS:用于DOS系统的配置,如是否使用HMA(高端内存区)等。
用法:DOS=[HIGH|LOW][,UMB|,NOUMB][,AUTO|,NOAUTO][,SINGLE]
其中,HIGH和LOW表示使用HMA或不使用HMA,UMB和NOUMB表示使用UMB或不使用UMB,AUTO或NOAUTO表示系统自动配置或不自动配置,SINGLE表示使用单一模式的DOS。其中,AUTO/NOAUTO和SINGLE仅用于MS-DOS 7.x中。

DRIVPARM:设置现有物理设备的参数。
注:此命令用得很少,我也没用过,所以暂时跳过。

FCBS/FCBSHIGH:指定可以同时打开的文件控制块 (FCB) 的数量。
用法:FCBS/FCBSHIGH=可以同时打开的FCB的数量。
注:由于FCB主要是在DOS 1.x中使用,对于高版本,所以可以让系统自动配置。

FILES/FILESHIGH:指定 可以同时访问的文件数量。
用法:FILES/FILESHIGH=可以同时访问的文件数量。
注:一般FILES/FILESHIGH的设置值在30左右比较合适。

INSTALL/INSTALLHIGH:用于加载TSR(内存驻留程序)。
用法:INSTALL/INSTALLHIGH=文件名 [参数]
如:INSTALLHIGH=C:\DOS\DOSKEY.COM /APPEDIT

LASTDRIVE/LASTDRIVEHIGH:指定可以访问的驱动器的最后有效的驱动器字母。
用法:LASTDRIVE=驱动器字母
如LASTDRIVE=F会将F设置成最后有效的驱动器字母。

NUMLOCK:指定启动时NUMLOCK指定灯是否打开。
用法:NUMLOCK=ON|OFF

REM:添加注解。
用法:REM [注解字符串]
注:注解中的字符串只是用来增加可读性,将不被执行。

SET:设计DOS环境变量。
用法:SET 变量=[变量值]

SHELL:指定DOS 使用的命令解释程序的名称和位置。
用法:SHELL=文件名 [参数]
注:文件名默认是COMMAND.COM,您也可以指定其它的文件,如4DOS.EXE等。

STACK/STACKHIGH:指定使用的堆栈数量。
用法:STACK/STACKHIGH=堆栈数量,每个堆栈的大小
注:通常指定的值是9,256,这个值可以满足大多数的需求。

SWITCHES:指定一些特殊选项。
用法:SWITCHES=[/W] [/F] [/K] [/N] [/E[:n]]

其它的是一些菜单配置命令,如MENUITEM,MENUCOLOR等。

在MS-DOS 7.x中还有一些未公开命令,如LOGO,COMMENT等。

知道了以上的命令后,就要谈谈如何利用这些命令来配置CONFIG.SYS文件了。配置的好坏对系统的影响是非常大的。以下是我的电脑(都是MS-DOS 7.10)中CONFIG.SYS文件中的内容,大家可以用作参考。

电脑一,使用EMM386.EXE:

device=d:\tools\dostools\echo.sys L/o/a/d/i/n/g CONFIG.SYS...
device=d:\tools\mdctools\himem.sys /testmemff
device=d:\tools\mdctools\emm386.exe noems novcpi i=b600-b7ff
devicehigh=d:\tools\mdctools\setver.exe
devicehigh=d:\software\pwin98se\ifshlp.sys
devicehigh=d:\tools\dostools\vide-cdd.sys /d:CDROM1
devicehigh=d:\tools\dostools\cloaking.exe
country=086,936,d:\tools\mdctools\country.sys
shell=c:\command.com /p /e:640
set temp=e:\temp
set tmp=e:\temp
accdate=c+ d+ e+
dos=high,umb
numlock=off
files=30
buffershigh=30,0
fcbshigh=4,0
lastdrivehigh=n
stackshigh=9,256

电脑二,使用UMBPCI.SYS:

device=d:\tools\dostools\echo.sys L/o/a/d/i/n/g CONFIG.SYS...
device=d:\tools\dostools\echo.sys
device=d:\tools\dostools\umbpci.sys
device=d:\tools\dostools\hiram.exe
devicehigh=d:\tools\mdctools\himem.sys /testmemff
devicehigh=d:\software\pwin98se\setver.exe
devicehigh=d:\software\pwin98se\ifshlp.sys
devicehigh=c:\dos\vide-cdd.sys /d:CDROM1
shell=d:\tools\mdctools\command.com /p /e:640
set temp=e:\temp
set tmp=e:\temp
accdate=c+ d+ e+
dos=high,umb,auto
country=086
numlock=off
fileshigh=30
buffershigh=30,0
stackshigh=9,256
lastdrivehigh=n

您不妨试试,相信您也会做出好的CONFIG.SYS文件来

-------

DOS批处理文件


DOS下的可执行文件有三种,分别是EXE,COM和BAT。其中,EXE和COM文件都是二进制形式的,只有BAT文件是文本形式的,可以直接阅读。因此,BAT文件和以上二进制可执行文件相比,内容要简单的多。这些文件内包含着DOS命令的集合,通常叫作批处理文件。批处理文件的组成虽然比较简单,但其用处非常大,使用也比较广泛。比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。AUTOEXEC.BAT就是一个特殊的批处理文件,它在DOS的启动时自动运行,在系统的配置中发挥着非常大的作用。因此,要学好DOS,就要学好批处理文件。下面介绍批处理文件的命令及其使用。

DOS自带的批处理命令:

@:将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。
如@ECHO OFF命令就在批文件首经常用到。

CALL:从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。
用法:CALL [批文件名]
注:也可以使用COMMAND /C命令完成同样的操作。

CHOICE:选择命令。这是一个DOS外部命令,但它主要用在批文件中。
CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本]
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。

ECHO:显示指定的信息。通常显示在屏幕上。
如ECHO Hello将在屏幕上显示Hello的字样。
另外,ECHO ON|OFF用来设置在批文件执行时是否显示命令本身。而ECHO OFF与@的意思一样,但它是一个单独的命令,而不能像@那样放在其它命令之前。

FOR:对于指定的文件运行相应的命令。
大家知道,DOS下许多命令支持通配符,如?和*,可以一次指定一批文件,非常方便。然而,并非所有的DOS命令都支持通配符,如TYPE(文件内容显示命令)就不支持。有了FOR命令就没有关系了,利于它可以使TYPE命令可以一次显示多个文件。
用法:FOR %变量名 IN (文件集) DO 命令 [命令参数]
注:以上是FOR命令的固定形式,IN和DO的位置必须正确,否则将提示语法错误。
如FOR %F IN (*.*) DO TYPE %F命令就可以实现TYPE命令一次显示多个文件。
注:%F是变量名,也可用%G等代替,但前后必须一致。在批文件中用%%F代替。

GOTO:转到批文件内部的某个标号下执行。
大家知道,在编程中往往需要重复或跳转到某个地方继续执行,如BASIC语言中的GOTO命令。批文件中的GOTO命令也可以完成类似的功能。
用法:GOTO [标号名]
其中,标号名是可以随意设置的,如Hello等。设置标号用“:”符号,如“:Hello”,这时用GOTO Hello命令将转到“:Hello”所在的位置继续执行批文件。

IF:条件判断命令。这是一项很有用的批处理命令。
用法1:IF [NOT] EXIST 文件名 命令 [命令参数]
意义:如果[不]存在某个文件将执行某个命令。
用法2:IF [NOT] ERRORLEVEL 错误返回代号 命令 [命令参数]
意义:如果错误返回代号[不]大于或等于指定的代号将执行某个命令。
其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如执行成功,执行失败,或被用户中断等),这些命令会返回不同的代号,以表示不同的结果。IF ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条命令之后。如IF ERRORLEVEL 1 ECHO OK!表示如果当前的错误返回代号大于或等于1时将在屏幕上显示“OK!”的字样。
用法3:IF [NOT] 字符串1==字符串2 命令 [命令参数]
意义:当字符串1和字符串2[不]相等的时候执行某个命令。

PAUSE:暂停批文件的执行,并显示“按任意键继续”的字样。

REM:添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。

SHIFT:在批文件中改变可替换参数的位置。
可替换参数是一种特殊的参数,只能用在批文件中。这些参数是由使用者在执行批处理命令时输入的。比如,我们执行DIR /S /W命令,其中DIR是命令名,/S和/W是它的执行参数。在批文件中,这些命令参数将被分别赋予到可替换参数中,如/S就成的%1,/W就可了%2,以至类推,而命令本身则被赋予%0中。批文件就是利用可替换参数对执行时输入的参数来进行操作的。比如现在有个批处理文件叫MYFILE.BAT,在命令行下执行MYFILE.BAT YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判断出%1等参数的值,然后根据这些值的不同执行不同的操作,如IF "%1"=="YES" GOTO YES。
SHIFT命令不带任何参数,执行结果是将%0的值换成原%1的值,而原%1的值变成的原%2的值,以此类推。注意它的不可逆转性。因为批处理文件执行时的运行参数可能很多,可能会超过10个,而可替换参数只能从%0到%9,若想取得%9以后的参数值,只能使用SHIFT命令。这时,整个参数列将向前推。

以上是DOS的自带批处理命令,可以看出,这些命令是非常少的,若要编写较复杂的程序,用以上的命令显然不可能实现。这时就需要其它实用的批处理工具了,著名且实用的有TESTIF,STRING,ASET,BATCHMAN,WBAT等,均可在“DOS软件分类下载”中的“脚本工具”中下载。在批处理文件中使用以上的工具可以实现非常强大的功能,甚至可以完成许多高级语言程序的功能。所以,如果您想编者按写批处理文件的话,它们是您不错的选择,不仅有详细的文档,而且还在不断发展中。

下面就要谈批处理文件的制作了。其实制作批处理文件并不难,只要掌握了方法就行了。随着您操作次数的增多,您会觉得越来越容易的。

首先使用一个文本编辑器,如DOS自带的EDIT命令或其它的编辑工具,如PEDIT等新建一个空白文件(当然,用COPY CON命令直接创建也行),然后在其中根据您想完成的功能输入批处理命令。如果您只是想执行一些的DOS命令的集合,则按顺序在每行输入一个DOS命令就行了。但如果您是想完成一些更复杂的操作,就需要以上的批处理命令或上述的批处理工具了。

以下是我原来所编的一个从1%慢慢增加到100%的批处理小程序,大家可以用作参考,以编写自己的程序。

@echo off
break off
cls
set c=0
writext 10 1 Wait...
be delay 4
:loop
writext 10 9 %c%%%?completed.
count c
if not %c%==101 goto loop
echo.
set c=
kpush /f
break on

其中,我用到了WRITEXT,COUNT,BE和KPUSH,这些都是批处理工具。WRITEXT是ECHO的增强工具,可以自定义显示的效果。COUNT是变量的计算工具,如原来C的值为1,执行COUNT C后C的值就为2。BE是个强大的批处理增强工具,在Norton Utilties 8.0中带有。KPUSH是键盘缓冲工具。

总之,利用批处理命令和批处理增强工具,我们可以编出许多强大的批处理文件来,大家不妨一试。许多批处理工具可以在“脚本工具”中下载。
--------

DOS未公开命令与参数


DOS系统中有许多未公开的命令与参数。由于DOS的种类很多,所以下面仅以MS-DOS为例,介绍一下常用命令中的未公开的命令与参数。

DOS未公开命令:

TRUENAME:用于显示实际的路径,对SUBST等命令很有用。
INSTALLHIGH:用在CONFIG.SYS中,将文件调入UMB。
LOGO和COMMENT:仅用在DOS7中的CONFIG.SYS中,用法未知。

DOS未公开参数:

COMMAND /F 使Fail作为Abort,Retry,Fail中的默认选项。
COMMAND /D 在DOS5中是禁止AUTOEXEC.BAT自动执行;在6.0+版本中是禁止/F参数。
COMMAND /Z 显示ERRORLEVEL(错误返回代码)信息。
COMMAND /T 在DOS7.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 用于DOS7中,跳过完整性测试。
FDISK /FPRMT 用于DOS7中,自动采用FAT32,并跳过提示信息。

DOSKEY /APPEDIT 使DOSKEY也应用于其它程序(如DEBUG等)中。
DOSKEY /COMMAND和/PERMANENT和/SCRSIZE和/XHISTORY 用法未知。

SCANDISK /CLIP 用于DOS7中,将长文件名剪为短文件名。
SCANDISK /NOLOST 用于DOS7中,不提示表面测试或丢失簇。
SCANDISK /NOUI和/TEXT 用于DOS7中,使用标准的DOS界面。
SCANDISK /MOUNT 相当于SCANDISK.INI中的Mount=Always。
SCANDISK /TIME 相当于SCANDISK.INI中的ScanTimeOut=On。

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

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

DIR /Z 用于DOS7中,不显示长文件名。

DOS=SINGLE 用在DOS7中的CONFIG.SYS中,启动单一模式的DOS。

DEVICE=HIMEM.SYS /Q 安静模式。

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

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

硬盘“逻辑锁”解决办法


许多电脑用户都见过或听说过,当硬盘中了所谓的“逻辑锁”后,无论是用软盘、硬盘,还是光盘都不能启动一些电脑。那么,“逻辑锁”到底是什么呢?
所谓“硬盘逻辑锁”是使用了某些DOS的一个错误制成的。它采用了“循环分区表”的技术,使某些有这个错误的DOS无法用任何设备启动,包括软盘等移动设备。当DOS启动时,系统会自动搜索硬盘中的各个分区的信息,如类型、大小等,以使系统能够识别硬盘,分别分配为C、D、E、F等驱动器,并使用户能对其进行各种操作。而“逻辑锁”正是利用了这一点,通过修改硬盘的分区表使分区表发生循环,即把扩展分区的第一个逻辑盘指向自身,使某些DOS系统启动时查找分区时发生死循环而无法启动。
可见,这其实是DOS启动时的一个错误造成的。据说早在1992年,就有一个叫Mike的反病毒专家发现了此问题,并报告给了有此问题的DOS的生产厂家,如生产PC-DOS的IBM公司、生产DR-DOS/NovellDOS的Novell公司、生产MS-DOS的微软公司等等。不久后,IBM、Novell等公司纷纷宣布其DOS的新版本已彻底解决了此问题,唯有拥有MS-DOS的微软公司没有理会,导致MS-DOS的新版本,如6.x、7.x等仍继续存在此问题。
然而,由于微软的MS-DOS使用得最为广泛,所以其影响和危害也最大。一旦用户的硬盘被“逻辑锁”锁住,各种微软的操作系统,如MS-DOS 5.x/6.x/7.x/8.0等的启动盘均无法启动,造成了硬件故障的假像,而且连许多高手对此都束手无策。由于这种现像非常可怕,将导致电脑无法使用,所以许多人纷纷去寻找预防及解决的办法。其实,其解决起来并不困难,下面就介绍几种解决办法。

* 使用非MS-DOS的操作系统启动

由上文可知,“硬盘逻辑锁”主要对微软的MS-DOS系统发生影响,因此,使用其它的DOS启动就可以了。为此,我特意对几种较实用的高版本的DOS,如MS-DOS 7.10、PC-DOS 7.10、DR-DOS 7.05、ROM-DOS 7.10、FreeDOS beta9、PTS-DOS Pro 2000的启动盘在硬盘中了“逻辑锁”的情况下进行了启动测试,结果如下:

PC-DOS 7.10启动盘:启动一切正常;
DR-DOS 7.05(版本号:7.10)启动盘:启动一切正常;
ROM-DOS 7.10启动盘:启动一切正常;
FreeDOS beta9(版本号:7.10):启动时显示硬盘有错误,并完全正常启动;
PTS-DOS Pro 2000(版本号:6.90):启动一切正常。

注:以上各种DOS都十分稳定,且均支持FAT32分区和大硬盘,其中ROM-DOS 7.10还完全本地支持长文件名,且兼容性非常好。

因此,可以用任何一种以上的DOS启动盘启动带有“逻辑锁”的硬盘,启动后已被锁住的硬盘驱动器的盘符(如C:)虽然看不到,但各种磁盘分区软件,如Norton Disk Editor 2002、Norton Disk Doctor 2002,以及DOS自带的FDISK程序等,均可以显示出被锁住的硬盘,此时既可用上面提到的DISKEDIT等工具对此硬盘进行查看/手工修复等操作,也可以用一些软件进行自动修复,如NetResq、SRCTools等,以彻底去掉硬盘上的“逻辑锁”,且硬盘上的数据不会受到任何损坏。

* 使用修复的MS-DOS启动盘启动

虽然MS-DOS启动盘在正常状态下不能在硬盘被锁住的情况下启动电脑,但是由于这仅仅是MS-DOS的启动文件IO.SYS中的一个BUG,所以只要修复此BUG,MS-DOS启动盘就不会受到“逻辑锁”的影响而能正常启动了。不过,即使是修复BUG,也应该使用正确的方法。有人提到过通过修改IO.SYS中的硬盘分区标记“55AA”的方法来解决问题,其实此法非常不好。因为,这种方法其实是让IO.SYS彻底忽略硬盘的存在,即通过跳过硬盘的方法来启动软盘,这样一来,无论硬盘是否被锁住,用此启动软盘启动后硬盘都不能被识别,因此此启动盘就不能作为正常的MS-DOS启动盘了。相反,如果采用正确的方法修复IO.SYS中的BUG的话,用此软盘启动后,若硬盘是好的,则能够正常识别,而即使是硬盘被“逻辑锁”锁住了,也可以像上面的方法(即“使用非MS-DOS的操作系统启动”)中提到的用PC-DOS、DR-DOS、ROM-DOS、FreeDOS、PTS-DOS Pro等启动软盘启动后进行进一步的修复等操作。还有人提到过MS-DOS的某些低版本,如3.2版的启动盘以启动电脑。但这显然有很多缺点,一是旧版本的DOS很难找到,二是由于其版本太低,功能很少,兼容性也很差;三是这些低版本的DOS自身不支持大硬盘(连32M都不支持)、逻辑分区等,甚至会对硬盘造成真正的破坏,而且,MS-DOS 3.2等版本甚至连1.44M软盘都不认识。可见,用低版本的MS-DOS启动的方法并不是很可行。因此,使用好的方法修正高版本的MS-DOS的IO.SYS中的BUG是很重要的。以MS-DOS 6.x的启动盘为例,只需用任何16进制编辑器(如PCTOOLS等)查找IO.SYS文件中的16进制字符串“07 72 03”,并将最后的“03”替换为“06”即可。其它一些版本的MS-DOS也可以使用类似的方法,比如MS-DOS 7.10的IO.SYS的具体修改方法请见“中国DOS联盟联合论坛”。这样一来,微软的MS-DOS启动盘也可以像其它各种DOS那样在硬盘被“逻辑锁”锁住的情况下正常启动了。

以上提到的方法都是解决“硬盘逻辑锁”的最直接的方法(即“使用不受‘逻辑锁’影响的DOS启动盘来启动电脑”),也是最好的办法。因此,只要制作一张上面提到的任何一种启动盘(如PC-DOS 7.10启动盘、ROM-DOS 7.10启动盘、FreeDOS启动盘,或修复的MS-DOS启动盘等)就可以了。既可平时将此启动盘当作正常启动盘使用,而且当硬盘被锁住时则可用此启动盘启动并解决问题。
有人还提到了其它的“方法”,如硬盘热插拔、DM低格等等,不仅麻烦、危险,而且会可能对硬盘中的所有数据造成破坏。比如硬盘热插拔后(需拆机箱且拿下硬盘,并在启动后再重新装上硬盘,非常麻烦且危险),即使是用软盘启动成功了,此时硬盘将彻底不能被识别,包括各种硬盘工具也不能识别。如果用DM跳过BIOS对硬盘进行低格,这样一来,硬盘上的所有数据将全部丢失,不可恢复,损失非常大。由此可见,硬盘热插拔等“方法”都是不实用也不可行的。

因此,只要找到了好的解决办法,并进行相应的操作,所谓的“硬盘逻辑锁”是可以轻易解决的,大家不妨一试。

------

最好的内存虚拟盘软件XMSDSK的使用

随着时代的发展,电脑的内存越来越大,从原来的1M、2M、4M等发展到现在的128M、256M、512M,甚至更大。因此,合理分配和使用内存是非常重要的,以避免不必要的浪费。而且,内存和一般的外部存储设备,如大家通常使用的磁盘(包括硬盘、光盘等)相比,有着众多的优点,比如内存的速度非常快,通常比后者快上好几十倍;磁盘的容量是有限的,尤其是软盘,一张软盘的大小一般不过1.44M,因此启动盘中往往放不下所需的程序。因此,如果能够将内存当作磁盘设备来存放文件和数据的话,那无疑可以大大提高操作的速度、效率和方便性,而且可以让内存发挥最大的效用,即有效地使用内存。
为此,人们开发出了不少内存虚拟盘程序,例如DOS中自带的VDISK.SYS、RAMDRIVE.SYS等等。不过,这些程序都有一些缺点,例如它们需要在CONFIG.SYS文件中加载,而不能在DOS命令行上直接加载;一旦加载就不可调整内存盘的大小或删除;内存盘有容量限制,通常不能超过64M;而且它们自己也占用较多的常规内存。现在终于有人开发出了解决了以上所有问题的内存虚拟盘程序,那就是下面要介绍的XMSDSK(可在“磁盘工具”中下载)。
XMSDSK是一个较新的程序,而且相当强大实用和稳定。它是Furd内存工具包中的一个,故名思议,就是用XMS内存创建磁盘。因此,它必须在有XMS内存的情况下才能使用,通常只要加载DOS自带的HIMEM.SYS程序(如果是MS-DOS的话,最好使用7.10或以上版本,以让HIMEM.SYS支持64M以上的XMS内存),然后就可以随便使用它了。XMSDSK的好处太多了,比如除了可以在CONFIG.SYS中加载以外,还可以在命令行方式下无限次动态调节内存盘的大小或拆卸。它占用内存相当少,才几百字节的低端内存,而且能够自动调入到UMB(上位内存块),而不需用LH命令。它支持极大的内存(目前高达2G),因此比如我们有512M的内存,甚至可将所有的XMS内存都虚拟成磁盘。如果将它用于启动盘中的话,可以为此启动盘增色不少。它还有个非常有用的用途,因为有些软件,例如一些游戏软件(如仙剑奇侠传)等,只能在32M以下的内存中运行,这时就可使用XMSDSK来安装内存磁盘使空余XMS内存小于32M,让那些软件能正常运行。最重要的是,它使用起来非常简单,下面就来介绍一下它的实际使用方法。

XMSDSK的使用语法如下:
XMSDSK [内存盘大小] [驱动器] [选项]

其中,内存盘大小用KB来表示,例如4就表示4K,1024就表示1024K=1M等等,如果没有指定的话,会建立一个0K的内存盘。驱动器表示要指定的内存盘的驱动器字母,若无的话它会自动使用下一个驱动器字母。例如,如果目前驱动器只有A盘、B盘、C盘和D盘的话,则会自动将内存盘加载到E盘上。选项有以下:
/?: 查看命令行帮助;
/Y: 当执行操作时,不必进行确认,即默认为“是(Yes)”;
/U: 将内存盘拆卸,并退出内存。
/T: 将内存盘定位于XMS内存的顶部;
/C: 指定内存盘中扇区的簇大小。
而通常只用到它的/Y和/U选项。
当使用不带任何参数和选项的方法运行XMSDSK,即直接输入XMSDSK命令时,若XMSDSK当前已加载了的话,会提示您是否加载它;否则,它会自动显示出已加载的内存盘的状态信息,如内存盘的大小。
下面就来举一个XMSDSK使用的例子。例如,现在想建一个5M的内存盘,然后调整为10M,最后删除此内存盘以释放驱动器字母和使用的内存,而且当安装、调整和删除时不进行确认操作,那么就可以在DOS命令行下依次输入以下命令:

1:XMSDSK 5120 /Y(建立5M的内存盘)
2:XMSDSK 10240 /Y(将已建立的5M内存盘的大小调整为10M)
3:XMSDSK /U /Y(删除已加载的内存盘)

大家看,是不是非常方便?
总之,XMSDSK是目前DOS下最好最强大的用XMS内存虚拟磁盘的工具,它是RAMDRIVE.SYS等其它同类软件的最佳替代品。而且除了XMSDSK,还有同一作者出的与之对应的EMSDSK,即用EMS内存虚拟磁盘的工具,具体用法可以说和上面的XMSDSK是完全相同的,在此就不再详细介绍了。

--------

DOS是自由的——FreeDOS简介

大家都知道,微软在开发出Win95后停止了DOS的独立发展。但是,在Win95出现之前,微软已经明显地加强了Windows的开发而减慢了DOS的发展,并在Windows中采取一些不光彩的手段去排斥打击其他的DOS系统如DR-DOS等,以确保MS-DOS的统治地位,维护自己的商业利益。比如当您在DR-DOS中运行Win3.x时,肯定不时会出现所谓的“错误”信息。
微软的专横做法当然引起了许多人的不满,许多团体甚至个人,包括大名鼎鼎的IBM公司都纷纷投入到开发兼容DOS的行列这中,意图打破微软对DOS的垄断局面。同时由于DOS的开放性和大家对DOS强大实用的功能的认识,DOS的种类不断增加,目前至少有20种,如PC-DOS、ROM-DOS、PTS-DOS、FreeDOS等,而新的功能,新的理念更是层出不穷。这里我们就为大家介绍一下最具代表性的FreeDOS。
FreeDOS工程(The FreeDOS Project)建立于1994年,由著名程序员Jim发起,并很快得到了众多使用者和程序开发者的响应。FreeDOS工程的目标是建立一个完整的、自由开放的并且与MS-DOS完全兼容的新型DOS操作系统,这个DOS系统属于全人类。由于它是建立著名的GNU GPL(GNU通用公共许可证)协议下的自由软件,得到来自世界各地众多优秀程序员的支持,现在一直在不断的发展着,而且参加的人越来越多,通过互联网联合起来朝着他们的目标去努力,充分体现了自由开放和团结的精神。现在FreeDOS的版本号已经发展到7.0,目前最新版本是Beta 8 H1,于今年9月推出。目前为它设计的DOS软件正在源源不断的推出和发展,不仅有各种外部命令,还有许多其它的增强程序和附件,而且质量既高也很实用,往往超过MS-DOS中的同类命令。例如在它上面开发的Cute Mouse,就是目前DOS下最好(体积最小,功能最强)的鼠标驱动程序。而ATTRIB、XCOPY等众多外部命令,不仅比MS-DOS的同类命令效率要高,而且体积不到后者的二分之一甚至几分之一。尤其重要的是,作为自由软件,它的源代码是完全公开的,显然对于需要学习和借鉴的国人,这是最好不过的事了。
FreeDOS与MS-DOS是完全兼容的,因此为它开发的软件基本上都可以直接移植过来在MS-DOS等DOS下使用。而我们国内外已经开发的绝大多数DOS软件也可以在它上面正常的运行。它的功能也十分强大,比如同样支持FAT32分区和大硬盘,部分功能已经远远超过MS-DOS。还有许多其它非常实用的功能,如内置DOSKEY支持、支持极大的内存(最大高达4G)等。至于更多的功能,如长文件名功能等等,现在正在大家不断的努力下开发着,相信不久后就会成为现实。不仅如此,它的系统启动文件也比MS-DOS等小巧得多。它的核心文件只有一个,再加上一个SYS文件和一个命令处理器COMMAND.COM文件,总共才130K,放在启动盘中是十分合适的。
不过,与MS-DOS等DOS一样,上面介绍的FreeDOS是16位的。由于现在32位的操作系统逐渐成了大势所趋,因此,为了跟上时代的发展,人们又开发了32位的FreeDOS操作系统,即内核为32位的FreeDOS版本FreeDOS 32,并再次得到了众多的支持。虽然目前它还不是很成熟,但它一直在发展着,而且毫无疑问,32位的FreeDOS有着划时代的意义,标志着DOS逐渐向32位的内核的方向发展了。
尤其是在国外,不少人认为,FreeDOS将为DOS带来新的生机和气象,因此对此感兴趣和参加的人越来越多。无数的优秀程序员投入其中不断为FreeDOS的发展添砖加瓦。目前,自由的FreeDOS越来越受到人们的关注,比如著名的Dell电脑公司就即将为它生产的部分电脑直接提供FreeDOS操作系统。
在国内,FreeDOS的重要性也正开始慢慢被认识。如果您有兴趣的话,不妨也来关注或参加它,让它更加强大吧!
-------

duse让DOS支持usb驱动器


不知有多少人以为DOS不支持USB设备。因为USB设备标准是在Windows 95之后才制定的,而当时DOS的老东家微软早已决定放弃继续发展其MS-DOS了。这样一来,当您想在DOS下操作USB设备的时候,往往只能望洋兴叹了。即使您使用的系统是Windows,当Windows崩溃要备份或恢复数据时,平时使用的USB硬盘等USB设备也都成了摆设。
幸好微软并不能决定一切,Pocketec公司开发的DUSE就为我们提供了在DOS下对USB存储设备(USB硬盘、软驱、光驱)的支持,不过它目前还不支持较常见的USB ThumbDrive(即U盘)。若要在DOS下驱动USB的U盘,请使用Motto Hairu驱动程序。另外,如果想在纯DOS下使用其它USB设备,如USB鼠标、USB打印机等,则可以使用其它的USB驱动程序,如USB_Link中的OHCI/UHCI,以及USB4DOS等,均可在本站的“驱动程序”中找到相应的链接,并可在“DOS使用中的常见问题解答(FAQ)”中看到一些DOS下使用USB设备的信息。
DUSE是DOS下的USB存储设备的驱动程序,目前的最新版本为4.2,是今年刚推出的。它的用法很简单,可在CONFIG.SYS中加载,也可以用它自带的DUSELDR.COM程序来实现在DOS命令行下(包括批处理文件中)的加载。例如在CONFIG.SYS中加上一行:DEVICE=C:\DOS\DUSE.EXE或在DOS命令行下执行DUSELDR C:\DOS\DUSE.EXE均可。
如果要加载的是USB光驱,除加载DUSE驱动程序外,还需运行光驱扩展驱动程序,通常可以使用DOS自带的MSCDEX.EXE。DUSE的默认光驱设备名是USBCDROM,在DOS命令行下可以像下面这样运行MSCDEX.EXE:

MSCDEX /D:USBCDROM /K

如果要更好地使用和控制DUSE,可以使用它提供的参数,DUSE的运行参数如下表:
(说明:以下为它的4.2版的参数,其最新4.4版又增加了EMUIRQ、UBNU、DDWAIT等参数。[]中表示可以省略的,以VER[BOSE]为例,VERBOSE是参数的完整写法,而VER则是简写,即[]中的BOSE可以省略。)

1: VER[BOSE][=x], 允许显示状态信息。x的合法值是0、1和2。0表示不显示信息,1表示显示文本消息,2表示采用弹出式窗口显示信息。默认值为0,如果输入了VERBOSE参数但未设定x的值的话,默认值为2。
2: WAI[T]=x, 设置显示弹出式窗口到关闭此窗口的时间(以秒来计算)。x的合法值为0到255之间,默认值为3。只有当VERBOSE的值为2的时候此参数才有效。
3: DRI[VES]=x, 设置允许的USB驱动器的数目。X取值从0到3。如果设置为0的话表示禁止USB驱动器的支持。默认值为1。
4: NOD[RIVES], 禁止对USB驱动器的支持。此参数将覆盖DRIVES参数设置。
5: NOC[DROM], 禁止对USB CD-ROM光驱的支持。
6: MEM[POOL]=x, 设置分配附加的内存的大小。DUSE会根据USB控制器的数目、传输的速度等来进行计算,确定最佳分配内存的大小。而设置此参数将由用户决定内存分配的大小,x值的单位为KB,合法值在0到128之间。
7: XFER[SIZE]=x, 设置允许的最大传输缓冲区,x值单位为KB来。增加传输缓冲区将增强传输性能,但也需要占用更多的内存。默认值为16。
8: SEC[TORSIZE]=x, 设置USB驱动器的扇区大小。x的值用字节来表示。合法值为512,1024或2048,默认为512。
9: APM[STATE]=x, 设置APM(高级电源管理)功能已启用的USB设备中APM的级别。增加此级别将增加设备的性能,但会增加电源的损耗。下面列出了合法的APM的状态x值:
最大性能 FEh
无挂起功能时中间的电源管理级别 81h-FDh
无挂起功能时最小电源损耗 80h
带挂起功能时中间的电源管理级别 02h-7Fh
带挂起功能时最小电源损耗 01h
x的默认值为0x7F。
10: INT[13], 启用硬盘的INT13功能支持. 此功能对一些磁盘工具(如FDISK)提供支持。
11: DMA[SAFE], 分配在数据传输中使用的DMA安全缓冲区。在运行一些需要从扩展内存中分配的缓冲的应用程序时此参数是必须指定的。
12: NOU[HCI], 防止初始化UHCI USB控制器。
13: NOO[HCI], 防止初始化OHCI USB控制器。
14: NOE[HCI], 防止初始化EHCI USB控制器。
15: UHCN=x, 指定DUSE初始化的UHCI控制器的最大数目为x。
16: OHCN=x, 指定DUSE初始化的OHCI控制器的最大数目为x。
17: EHCN=x, 指定DUSE初始化的EHCI控制器的最大数目为x。
18: LATE[INIT], 启用“延时初始化”的功能. 当使用此功能时,驱动程序在DOS启动阶段从CONFIG.SYS文件中加载,但是直到在DOS命令中使用INIT参数运行DUSE时才会正式启用USB设备,典型是在AUTOEXEC.BAT文件的结尾。可看下面的“延时初始化”和“将DUSE当作应用程序来运行”的部分。
19: EBAR=x, 指定EHCI BAR(基地址寄存器)将被分配到内存中的地址。x的值必须是四位的16进制数字并带上前缀0x,例如要将EHCI BAR的地址置为0xE000,那么正确的命令行选项就是EBAR=0xE000。合法的地址区域在0xA000到0xF400之间。
20: OBAR=x, 指定OHCI BAR将被分配到内存中的地址。上面对EBAR的描述可应用于OBAR。
21: UBAR=x, 指定UHCI BAR将被分配到内存中的地址。上面对EBAR的描述可应用于UBAR,不过它的合法的地址区域在0x0400到0xF400之间。
22: CDW[AIT][=x], 指示DUSE的初始化要等到第一个USB CD-ROM光驱的盘符被分配,或在x秒钟之内不要结束。x的合法值在0到30之间。x=0是一个特殊值,它表示DUSE将一直等到第一个USB CD-ROM光驱的盘符被分配或用户按下键盘上的ESC键。如果没有指定x的值的话,默认为x=0。
23: CDD[EVICE]=<设备名>, 指定USB CD-ROM光驱的设备名。默认设备名是USBCDROM。
24: VFLOP[PY], 初始化时建立一个启动软盘的虚拟映像。

以下是使用一个命令行参数的例子。可参考此行把DUSE加入到CONFIG.SYS文件中:

DEVICE=C:\DUSE\DUSE.EXE VERBOSE DRIVES=2 XFER=8 SEC=2048 NOCD

此例子设置:
显示弹出式状态窗口
支持两个USB驱动器
将最大传输缓冲区大小设为8K
将默认扇区大小设为2048字节
禁止对USB CD-ROM光驱提供支持

关于“延时初始化”的功能
当在CONFIG.SYS中以LATE[INIT]参数来运行DUSE(例如使用DEVICE=DUSE.EXE LATE)时,要真正使用USB设备还需进行一次真正的初始化。真正的初始化的方法是在DOS命令行下(包括批处理文件中)使用DUSE INIT命令。

关于“将DUSE当作应用程序来运行”的功能
将DUSE当作应用程序来在DOS命令行下运行时,DUSE只支持INIT参数。此参数在上面的“延时初始化”以后于DOS命令行上加载,使得DUSE真正初始化USB设备,以真正使用USB设备。

--------

DOS多媒体播放器——QuickView的使用

提起多媒体,许多人就会想到Windows,也正是Windows的出现带动了多媒体电脑的大规模普及。然而,多媒体并不是Windows的专利,其他操作系统也具有非常强大的多媒体功能,比如大家认为多媒体功能较“弱”的DOS。
DOS下的多媒体软件有很多,如大家很熟悉的SEA等外,近几年来随着多媒体技术的发展,DOS下尤其是国外的DOS多媒体软件也明显增多了,如MP3音乐格式的播放器就有近20种,更不用提其它的了。这些新的DOS多媒体软件的播放效果十分好,支持的格式也很广,具体可在本站“DOS使用”栏目中的“DOS下的多媒体”一节中看到。
在这么多的软件中,我认为QuickView Pro是非常出色的一个,它不仅能够听MP3,WAV等格式的音乐,还可以查看许多格式的图片,如JPG,GIF,BMP,TGA,PCX等等,甚至可以观看多种媒体格式,如MPG,MOV,AVI,FLC/FLI,DivX等以及VCD。它也支持播放列表及循环播放,还可以显示长文件名(例如可以在Win9x的DOS窗口中显示,如果您想在纯DOS下显示长文件名的话,可以使用DOS下的长文件名驱动程序,如DOSLFN或LFNDOS,其中后者的最新版1.07版支持中文长文件名,均可在“驱动程序”中下载)。它的播放效果也非常好,音质完全可以与WinAmp相比,而且还在不断更新中。它支持命令行和图形界面两种运行方式,大家可以根据自己的喜好来从其中选择您自己喜欢的方式。下面就来谈谈其具体的使用方法。
先说说它的图形界面方式。在通过QV命令启动了它的主界面以后,就可以看到一个文件管理器,里面有当前文件夹下的所有文件及文件夹列表。在文件夹下按回车键就可以进入该文件夹。如果想切换驱动器的话,可以按Alt+D键,这时它就会出现一个驱动器列表,输入相应的驱动器字符即可进入。进入合适的路径后,可以在界面中选择一个或多个文件来播放。在这些文件中,以白色显示的表示QV可以进行播放的文件,黄色的则不行。比如直接在一个文件上按回车就可以播放一个文件,如果先用空格键选择了多个文件再按回车的话则可以放多个文件。若想随机播放的话,可按Alt+S键。在播放的过程中,您还可以进行各种控制,例如空格键暂停播放,要想继续则按其它任意键;按光标左右键可以快进/快退;按回车或TAB键播放下一文件,按退格键播放上一文件,ESC取消播放,+/-键调节音量大小等等。在主界面或播放的时候可随时按Alt+X键退出QuickView。如果您想设置查看系统信息或文件信息的话,可分别按F2和F3键,其中F3键将显示所有支持的媒体文件的详细信息。对于图形文件,您还可以设置它的显示分辨率,即在主界面中输入+或-键,可在“自动选择”/“300*240”/“600*480”/“800*600”/“1024*768”/“1280/1024”之间进行选择,选择的结果在屏幕上方显示。还可以设置QuickView的许多选项,如全屏幕播放,显示色彩数、50行界面方式等等,可按Alt+O键进行它的选项菜单。如果您想永久性的使用这些设置的话,可以将它们保存下来。
然后介绍它的命令行方式的使用方法。它基本的命令行操作方式是:QV [文件名] [选项],用/?选项可以查看它的所有命令行参数。它的操作很简单,比如用QV *.MP3命令就可以播放当前文件夹中所有MP3歌曲,或QV /@SONGS.M3U则播放列表文件SONGS.M3U指定的所有文件。可以混合播放各种格式的文件,如QV *.*,即如果同时存在多种格式的媒体文件(如既有MP3,WAV,也有JPG,AVI等格式的文件)将按顺序全部播放。用它的/RANDOM选项则可以实现随机播放。在用命令行播放的时候,图形方式的那些按键也都用的上,如回车或TAB键播放下一个文件,ESC键取消播放,Alt+X退出QV等等。当您想看VCD或CD-i的话,只需输入QV /VCD命令就行了。大家看,是不是很方便实用呢?
QuickView的一个很突出优点是体积小且速度快,比如它的2.43版只有180K,不到Windows下的ACDSEE的1/50,并且只需QV.EXE一个文件就可以运行。它的最新版本是2.50版,于今年8月底才刚刚推出,而且它仍在不断发展中,大家可到它的网http://www.multimediaware.com/qv上去看看。为了方便大家的使用,我还特意将它的2.42和2.46版进行了注册破解和汉化,均可以在“媒体软件”中下载。另外,其作者为了照顾较低配置的电脑(如386、486等),还保留了一个QuickView的实模式版本1.03b版的下载。它的实模式版本的最大特点是体积更小且速度更快,虽然才50多K,但功能已十分强大,其保护模式所支持的大多数格式,如WAV、BMP、GIF、AVI、FL?等等它都支持。而且它不仅支持从声卡发声,还支持从扬声器发声,以使较低配置的没有声卡的电脑也能发出声音。
总之,QuickView是一个功能非常强大且方便实用的DOS下多媒体软件。大家不妨使用它,这样也可以鼓励它的作者以继续开发这个优秀的DOS软件。

-------

磁盘维护的好工具SRCTools的使用


大家知道,磁盘是现在电脑中非常重要的存储设备,大家通常操作电脑都离不开它。因此,合理的维护磁盘和保护磁盘中的数据是非常重要的,尤其是磁盘最重要的三个部分——启动扇区、文件分配表(FAT)和主引导记录(MBR)。如果没有任何备份,当误操作或病毒等原因导致磁盘无法正常启动等现象的时候那就后悔莫及了。因此,保存它们的备份并知道恢复的方法是十分必要的。

保存/恢复磁盘的这些内容的工具有不少,其中本文要介绍的SRCTools是非常强大实用的一个。它是个很新的软件,因此它全面支持各种FAT分区,包括FAT12/FAT16/FAT32,也支持大硬盘。而一些旧的同类工具,如STBFP等就不支持。SRCTools是由SRCBOOT、SRCFAT和SRCMBR三个文件组成的,它们分别用来对磁盘的启动扇区、文件分配表(FAT)和主引导记录(MBR)进行操作。它们的用法都十分简单,也十分相似(毕竟都是一个软件嘛),即:

SRCBOOT 盘符 文件名 参数

SRCFAT 盘符 文件名 参数

SRCMBR 硬盘号 文件名 参数

其中,参数指定要进行的操作,有以下三种:

/S:保存(Save)操作。
即把启动扇区/FAT/MBR的内容保存到文件中。
/R:恢复(Restore)操作。
即把文件中保存的内容恢复到启动扇区/FAT/MBR中。
/C:比较(Compare)操作。
即把文件中保存的内容与现有的启动扇区/FAT/MBR中内容进行比较和检查。

命令行中的盘符可为任何物理驱动器的盘符,如C:、D:等都可以;硬盘号指定需要进行操作的硬盘,如硬盘0表示第一个硬盘,硬盘1表示第二个硬盘,以此类推;文件名为指定的要进行以上保存/恢复/比较操作的文件。

例如,现在想将C盘的启动扇区中的内容保存到文件FILE1中,此时,盘符为C:,要操作的文件名为FILE1,于是执行"SRCBOOT C: FILE1 /S"命令即可。又如,想将已保存的文件FILE2中的主引导记录(MBR)内容恢复到第一个硬盘(即磁盘0)中,则可执行"SRCMBR 0 FILE2 /R"命令。若想将已保存的文件FILE3中的文件分配表(FAT)内容与现D盘的FAT内容相比较,以检查其正确性,执行"SRCFAT D: FILE3 /R"命令就可达到此功能。