一、DOS常用命令:

(一)MD——建立子目录 　
1．功能:创建新的子目录　
2．类型:内部命令　
3．格式:MD [盘符:][路径名]〈子目录名〉　
4．使用说明:　
（1）“盘符”:指定要建立子目录的磁盘驱动器字母，若省略，则为当前驱动器；　
（2）“路径名”:要建立的子目录的上级目录名，若缺省则建在当前目录下。　
例:（1）在C盘的根目录下创建名为FOX的子目录；（2）在FOX子目录下再创建USER子目录。　
C:\＞MD FOX （在当前驱动器C盘下创建子目录FOX）　
C:\＞MD FOX \USER （在FOX 子目录下再创建USER子目录）　

（二）CD——改变当前目录　
1．功能:显示当前目录　
2．类型:内部命令　
3．格式:CD [盘符:][路径名][子目录名]　
4．使用说明:　
（1）如果省略路径和子目录名则显示当前目录；　
（2）如采用“CD\”格式，则退回到根目录；　
（3）如采用“CD..”格式则退回到上一级目录。　
例:（1）进入到USER子目录；（2）从USER子目录退回到子目录；（3）返回到根目录。　
C:\＞CD FOX \USER（进入FOX子目录下的USER子目录）　
C:\FOX\USER＞CD.. （退回上一级根目录）　
C:\FOX＞CD\ （返回到根目录）　
C:\＞　

（三）RD——删除子目录命令　
1．功能:从指定的磁盘删除了目录。　
2．类型:内部命令　
3．格式:RD [盘符:][路径名][子目录名]　
4．使用说明:　
（1）子目录在删除前必须是空的，也就是说需要先进入该子目录，使用DEL（删除文件的命令）将其子目录下的文件删空，然后再退回到上一级目录，用RD命令删除该了目录本身；　
（2）不能删除根目录和当前目录。　
例:要求把C盘FOX子目录下的USER子目录删除，操作如下:　
第一步:先将USER子目录下的文件删空；　
C\＞DEL C:\FOX\USER\*.*　
第二步，删除USER子目录。　
C\＞RD Ｃ:\FOX\USER
　
（四）DIR——显示磁盘目录命令　
1．功能:显示磁盘目录的内容。　
2．类型:内部命令　
3．格式:DIR [盘符][路径][/P][/W]　
4．使用说明:
　　/P的使用；当欲查看的目录太多，无法在一屏显示完屏幕会一直往上卷，不容易看清，加上/P参数后，屏幕上会分面一次显示23行的文件信息，然后暂停，并提示；Press any key to continue　
/W的使用:加上/W只显示文件名，至于文件大小及建立的日期和时间则都省略。加上参数后，每行可以显示五个文件名。
　
（五）PATH——路径设置命令　
1．功能:设备可执行文件的搜索路径，只对文件有效。　
2．类型:内部命令　
3．格式:PATH [盘符1]目录[路径名1]{[；盘符2:]，〈目录路径名2〉…}　
4．使用说明:　
（1）当运行一个可执行文件时，DOS会先在当前目录中搜索该文件，若找到则运行之；若找不到该文件，则根据PATH命令所设置的路径，顺序逐条地到目录中搜索该文件；　
（2）PATH命令中的路径，若有两条以上，各路径之间以一个分号“；”隔开；　
（3）PATH命令有三种使用方法:　
PATH[盘符1:][路径1][盘符2:][路径2]…（设定可执行文件的搜索路径）
PATH:（取消所有路径）
PATH:（显示目前所设的路径）　

（六）TREE——显示磁盘目录结构命令　
1．功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。　
2．类型:外部命令　
3．格式:TREE [盘符:][/F][》PRN]　
4．使用说明:　
（1）使用/F参数时显示所有目录及目录下的所有文件，省略时，只显示目录，不显示目录下的文件；　
（2）选用＞PRN参数时，则把所列目录及目录中的文件名打印输出。　

（七）DELTREE——删除整个目录命令　
1．功能:将整个目录及其下属子目录和文件删除。　
2．类型:外部命令　
3．格式:DELTREE [盘符:]〈路径名〉　
4．使用说明:该命令可以一步就将目录及其下的所有文件、子目录、更下层的子目录一并删除，而且不管文件的属性为隐藏、系统或只读，只要该文件位于删除的目录之下，DELTREE都一视同仁，照删不误。使用时务必小心！！！　



磁盘操作类命令　


（一）FORMAT——磁盘格式化命令　
1．功能:对磁盘进行格式化，划分磁道和扇区；同时检查出整个磁盘上有无带缺陷的磁道，对坏道加注标记；建立目录区和文件分配表，使磁盘作好接收DOS的准备。　
2．类型:外部命令　
3．Format <盘符>[/U][/S][/V][/Q]
     在常用的参数中，/U是全面格式化，使用/Q是快速格式化。
     “/U”和“/Q”两个参数不能同时使用。
4．使用说明:　
（1）命令后的盘符不可缺省，若对硬盘进行格式化，则会如下列提示:WARNING:ALL DATA ON NON-REMOVABLE DISK　
DRIVE C:WILL BE LOST ！　
Proceed with format (Y/N)？　
（警告:所有数据在C盘上，将会丢失，确实要继续格式化吗？）　
（2）若是对软盘进行格式化，则会如下提示:Insert new disk for drive A;and press ENTER when ready…　
（在A驱中插入新盘，准备好后按回车键）。　
（3）选用[/S]参数，将把DOS系统文件IO.SYS、MSDOS.SYS及COMMAND.COM复制到磁盘上，使该磁盘可以做为DOS启动盘。若不选用/S参数，则格式化后的磙盘只能读写信息，而不能做为启动盘；　
（4）选用[/4]参数，在1.2MB的高密度软驱中格式化360KB的低密度盘；　
（5）选用[/Q]参数，快速格式化，这个参数并不会重新划分磁盘的磁道和扇区，只能将磁盘根目录、文件分配表以及引导扇区清成空白，因此，格式化的速度较快。　
（6）选用[/U]参数，表示无条件格式化，即破坏原来磁盘上所有数据。不加/U，则为安全格式化，这时先建立一个镜象文件保存原来的FAT表和根目录，必要时可用UNFORRMAT恢复原来的数据。　

（二）UNformAT恢复格式化命令　
1．功能:对进行过格式化误操作丢失数据的磁盘进行恢复。　
2．类型:外部命令　
3．格式:UNformAT〈盘符〉[/L][/U][/P][/TEST]　
4．使用说明:用于将被“非破坏性”格式化的磁盘恢复。根目录下被删除的文件或子目录及磁盘的系统扇区（包括FAT、根目录、BOOT扇区及硬盘分区表）受损时，也可以用UNformAT来抢救。　
（1）选用/L参数列出找到的子目录名称、文件名称、日期等信息，但不会真的做formAT工作。　
（2）选用/P参数将显示于屏幕的报告（包含/L参数所产生的信息）同时也送到打印机。运行时屏幕会显示:“Print out will
be sent to LPT1”　
（3）选用/TEST参数只做模拟试验（TEST）不做真正的写入动作。使用此参数屏幕会显示:“Simulation only”　
（4）选用/U参数不使用MIRROR映像文件的数据，直接根据磁盘现状进行UNformAT。　
（5）选用/PSRTN；修复硬盘分区表。　
若在盘符之后加上/P、/L、/TEST之一，都相当于使用了/U参数，UNformAT会“假设”此时磁盘没有MIRROR映像文件。　
注意:UNformAT对于刚formAT的磁盘，可以完全恢复，但formAT后若做了其它数据的写入，则UNformAT就不能完整的救回数据了。UNformAT并非是万能的，由于使用UNformAT会重建FAT与根目录，所以它也具有较高的危险性，操作不当可能会扩大损失，如果仅误删了几个文件或子目录，只需要利用UNDELETE就够了。

（三） CHKDSK——检查磁盘当前状态命令　
1．功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。　
2．类型:外部命令　

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"命令就可达到此功能。

您看，它使用起来是不是很方便实用呢？大家不妨来使用它，以使磁盘的维护更加方便快捷。 

3．格式:CHKDSK [盘符:][路径][文件名][/F][/V]　
4．使用说明:　
（1）选用[文件名]参数，则显示该文件占用磁盘的情况；　
（2）选[/F]参数，纠正在指定磁盘上发现的逻辑错误；　
（3）选用[/V]参数，显示盘上的所有文件和路径。　

（四）DISKCOPY——整盘复制命令　
1．功能:复制格式和内容完全相同的软盘。　
2．类型:外部命令　
3．格式:DISKCOPY [盘符1:][盘符2:]　
4．使用说明:　
（1）如果目标软盘没有格式化，则复制时系统自动选进行格式化。　
（2）如果目标软盘上原有文件，则复制后将全部丢失。　
（3）如果是单驱动器复制，系统会提示适时更换源盘和目标盘，请操作时注意分清源盘和目标盘。　

（五）LABEL——建立磁盘卷标命令　
1．功能:建立、更改、删除磁盘卷标。　
2．类型:外部命令　
3．格式:LABEL [盘符:][卷标名]　
4．使用说明:　
（1）卷标名为要建立的卷标名，若缺省此参数，则系统提示键入卷标名或询问是否删除原有的卷标名；　
（2）卷标名由1至11个字符组成。
　
（六）VOL——显示磁盘卷标命令　
1．功能:查看磁盘卷标号。　
2．类型:内部命令　
3．格式:VOL [盘符:]　
4．使用说明:省略盘符，显示当前驱动器卷标。　

（七）SCANDISK——检测、修复磁盘命令　
1．功能:检测磁盘的FAT表、目录结构、文件系统等是否有问题，并可将检测出的问题加以修复。　
2．类型:外部命令　
3．格式:SCANDISK [盘符1:]{[盘符2:]…}[/ALL]　
4．使用说明:　
（1）CCANDISK适用于硬盘和软盘，可以一次指定多个磁盘或选用[/ALL]参数指定所有的磁盘；　
（2）可自动检测出磁盘中所发生的交叉连接、丢失簇和目录结构等逻辑上的错误，并加以修复。　

（八）DEFRAG——重整磁盘命令　
1．。功能:整理磁盘，消除磁盘碎块。　
2．类型:外部命令　
3．格式:DEFRAG [盘符:][/F]　
4．使用说明:选用/F参数，将文件中存在盘上的碎片消除，并调整磁盘文件的安排，确保文件之间毫无空隙。从而加快读盘速度和节省磁盘空间。　

（九）SYS——系统复制命令　
1．功能:将当前驱动器上的DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM 传送到指定的驱动器上。　
2．类型:外部命令　
3．格式:SYS [盘符:]　
*使用说明:如果磁盘剩余空间不足以存放系统文件，则提示:No roomfor on destination disk.　




文件操作类命令　


（一） COPY文件复制命令　
1．功能:拷贝一个或多个文件到指定盘上。　
2．类型:内部命令　
3．格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]　
4．使用说明:　
（1）COPY是文件对文件的方式复制数据，复制前目标盘必须已经格式化；　
（2）复制过程中，目标盘上相同文件名称的旧文件会被源文件取代；　
（3）复制文件时，必须先确定目标般有足够的空间，否则会出现；insufficient的错误信息，提示磁盘空间不够；　
（4）文件名中允许使用通配举“*”“？”，可同时复制多个文件；　
（5）COPY命令中源文件名必须指出，不可以省略。　
（6）复制时，目标文件名可以与源文件名相同，称作“同名拷贝”此时目标文件名可以省略；　
（7）复制时，目标文件名也可以与源文件名不相同，称作“异名拷贝”，此时，目标文件名不能省略；　
（8）复制时，还可以将几个文件合并为一个文件，称为“合并拷贝”，格式如下:COPY；[源盘][路径]〈源文件名1〉〈源文件名2〉…[目标盘][路径]〈目标文件名〉；　
（9）利用COPY命令，还可以从键盘上输入数据建立文件，格式如下:COPY CON [盘符:][路径]〈文件名〉；　
（10）注意:COPY命令的使用格式，源文件名与目标文件名之间必须有空格！　

（二）XCOPY——目录复制命令　
1．功能:复制指定的目录和目录下的所有文件连同目录结构。　
2．类型:外部命令　
3．格式:XCOPY [源盘:]〈源路径名〉[目标盘符:][目标路径名][/S][/V][/E]　
4．使用说明:　
（1）XCOPY是COPY的扩展，可以把指定的目录连文件和目录结构一并拷贝，但不能拷贝隐藏文件和系统文件；　
（2）使用时源盘符、源目标路径名、源文件名至少指定一个；　
（3）选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数，否则/S不会拷贝空目录，若不指定/S参数，则XCOPY只拷贝源目录本身的文件，而不涉及其下的子目录；　
（4）选用/V参数时，对的拷贝的扇区都进行较验，但速度会降低。　

（三）TYPE——显示文件内容命令　
1．功能:显示ASCII码文件的内容。　
2．类型:内部命令。　
3．格式:TYPE [盘符:][路径]〈文件名〉　
4．使用说明:　
（1）显示由ASCII码组成的文本文件，对。EXE.COM等为扩展名的文件，其显示的内容是无法阅读的，没有实际意义2；　
（2）该命令一次只可以显示一个文件的内容，不能使用通配符；　
（3）如果文件有扩展名，则必须将扩展名写上；　
（4）当文件较长，一屏显示不下时，可以按以下格式显示；TYPE[盘符:][路径]〈文件名〉|MORE，MORE为分屏显示命令，使用些参数后当满屏时会暂停，按任意键会继续显示。　
（5）若需将文件内容打印出来，可用如下格式:　
TYPE[盘符:][路径]〈文件名〉，＞PRN　
此时，打印机应处于联机状态。　

（四） REN——文件改名命令　
1．功能:更改文件名称　
2．类型:内部命令　
3．格式:REN [盘符:][路径]〈旧文件名〉〈新文件名〉　
4．使用说明:　
（1）新文件名前不可以加上盘符和路径，因为该命令只能对同一盘上的文件更换文件名；　
（2）允许使用通配符更改一组文件名或扩展名。　

（五）FC——文件比较命令　
1．功能:比较文件的异同，并列出差异处。　
2．类型:外部命令　
3．格式:FC [盘符:][路径名]〈文件名〉[盘符:][路径名][文件名][/A][/B][/C][/N]　
4．使用说明:　
（1）选用/A参数，为ASCII码比较模式；　
（2）选用/B参数，为二进制比较模式；　
（3）选用/C参数，将大小写字符看成是相同的字符。　
（4）选用/N参数，在ASCII码比较方式下，显示相异处的行号。　

（六）ATTRIB——修改文件属性命令　
1．功能:修改指定文件的属性。（文件属性参见2.5.4（二）文件属性一节）　
2．类型:外部命令。　
3．格式:ATTRIB [文件名][R][—R][A][—A][H][—H][—S]　
4．使用说明:　
（1）选用R参数，将指定文件设为只读属性，使得该文件只能读取，无法写入数据或删除；选用——R参数，去除只读属性；　
（2）选用A参数，将文件设置为档案属性；选用——A参数，去除档案属性；　 （3）选用H参数，将文件调协为隐含属性；选用——H参数，去隐含属性；　
（4）选用S参数，将文件设置为系统属性；选用——S参数，去除系统属性；　 （5）选用/S参数，对当前目录下的所有子目录及作设置。　

（七） DEL——删除文件命令　
1．功能:删除指定的文件。　
2．类型:内部命令　
3．格式:DEL[盘符:][路径]〈文件名〉[/P]　
4．使用说明:　
（1）选用/P参数，系统在删除前询问是否真要删除该文件，若不使用这个参数，则自动删除；　
（2）该命令不能删除属性为隐含或只读的文件；
（3）在文件名称中可以使用通配符；
（4）若要删除磁盘上的所有文件（DEL*·*或DEL·），则会提示:(Arey ou sure？）（你确定吗？）若回答Y，则进行删除，回答N，则取消此次删除作业。

（八） UNDELETE——恢复删除命令
    1．功能:恢复被误删除命令
    2．类型:外部命令。
    3．格式:UNDELETE[盘符:][路径名]〈文件名〉[/DOS]/LIST][/ALL]
    4．使用说明:使用UNDELETE可以使用“*”和“？”通配符。
    （1）选用/DOS参数根据目录里残留的记录来恢复文件。由于文件被删除时，目录所记载斩文件名第一个字符会被改为E5，DOS即依据文件开头的E5和其后续的字符来找到欲恢复的文件，所以，UNDELETE会要求用户输入一个字符，以便将文件名字补齐。但此字符不必和原来的一样，只需符合DOS的文件名规则即可。
    （2）选用/LIST只“列出”符合指定条件的文件而不做恢复，所以对磁盘内容完全不会有影响。
    （3）选用/ALL自动将可完全恢复的文件完全恢复，而不一一地询问用户，使用此参数时，若UNDELTE利用目录里残留的记录来将文件恢复，则会自动选一个字符将文件名补齐，并且使其不与现存文件名相同，选用字符的优选顺序为:#%——0000123456789A~Z。
　　UNDELETE还具有建立文件的防护措施的功能，已超出本课程授课范围，请读者在使用些功能时查阅有关DOS手册。



其它命令


    （一）CLS——清屏幕命令
    1功能:清除屏幕上的所有显示，光标置于屏幕左上角。
    2类型:内部命令
    3格式:CLS
 
    （二） VER查看系统版本号命令
    1功能:显示当前系统版本号
    2类型:内部命令
    3格式:VER
 
    （三） DATA日期设置命令
    1功能:设置或显示系统日期。
    2类型:内部命令
    3格式:DATE[mm——dd——yy]
    4使用说明:
    （1）省略[mm——dd——yy]显示系统日期并提示输入新的日期，不修改则可直接按回车键，[mm——dd——yy]为“月月——日日——年年”格式；
    （2）当机器开始启动时，有自动处理文件（AUTOEXEC.BAT）被执行，则系统不提示输入系统日期。否则，提示输入新日期和时间。

    （四） TIME系统时钟设置命令
    1功能:设置或显示系统时期。
    2类型:内部命令
    3格式:TIME[hh:mm:ss:xx]
    4使用说明:
    （1）省略[hh:mm:ss:xx]，显示系统时间并提示输入新的时间，不修改则可直接按回车键，[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式；
    （2）当机器开始启动时，有自动处理文件（AUTOEXEC.BAT）被执行，则系统不提示输入系统日期。否则，提示输入新日期和时间。
 
   （五）MEM查看当前内存状况命令
    1功能:显示当前内存使用的情况
    2类型:外部命令
    3格式:MEM[/C][/F][/M][/P]
    4使用说明:
    （1）选用/C参数列出装入常规内存和CMB的各文件的长度，同时也显示内存空间的使用状况和最大的可用空间；
    （2）选用/F参数分别列出当前常规内存剩余的字节大小和UMB可用的区域及大小；  
    （3）选用/M参数显示该模块使用内存地地址、大小及模块性质；
    （4）选用/P参数指定当输出超过一屏时，暂停供用户查看。
 
    （六） MSD显示系统信息命令
    1功能:显示系统的硬件和操作系统的状况。
    2类型:外部命令
    3格式:MSD[/I][/B][/S]
    4使用说明:
    （1）选用/I参数时，不检测硬件；
    （2）选用/B参数时，以黑白方式启动MSD；
    （3）选用/S参数时，显示出简明的系统报告。
 


ping命令详解

对于Windows下ping命令相信大家已经再熟悉不过了，但是能把ping的功能发挥到最大的人却并不是很多，当然我也并不是说我可以让ping发挥最大的功能，我也只不过经常用ping这个工具，也总结了一些小经验，现在和大家分享一下。 
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧，ping只有在安装了TCP/IP协议以后才可以使用: 
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-wz timeout] destination-list 
Options: 
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C. 
不停的ping地方主机，直到你按下Control-C。 
此功能没有什么特别的技巧，不过可以配合其他参数使用，将在下面提到。 


-a Resolve addresses to hostnames. 
解析计算机NetBios名。 
示例:C:＼>ping -a 192.168.1.21 
Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data: 
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 
Ping statistics for 192.168.1.21: 
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: 
Minimum = 0ms, Maximum = 0ms, Average = 0ms 
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。 

-n count Number of echo requests to send. 
发送count指定的Echo数据包数。 
在默认情况下，一般都只发送四个数据包，通过这个命令可以自己定义发送的个数，对衡量网络速度很有帮助，比如我想测试发送50个数据包的返回的平均时间为多少，最快时间为多少，最慢时间为多少就可以通过以下获知: 
C:＼>ping -n 50 202.103.96.68 
Pinging 202.103.96.68 with 32 bytes of data: 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Request timed out. 
……………… 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Ping statistics for 202.103.96.68: 
Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds: 
Minimum = 40ms, Maximum = 51ms, Average = 46ms 
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中，返回了48个，其中有两个由于未知原因丢失，这48个数据包当中返回速度最快为40ms，最慢为51ms，平均速度为46ms。 


-l size Send buffer size. 
定义echo数据包大小。 
在默认的情况下windows的ping发送的数据包大小为32byt，我们也可以自己定义它的大小，但有一个大小的限制，就是最大只能发送65500byt，也许有人会问为什么要限制到65500byt，因为Windows系列的系统都有一个安全漏洞（也许还包括其他系统）就是当向对方一次发送的数据包大于或等于65532时，对方就很有可能挡机，所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制，但这个参数配合其他参数以后危害依然非常强大，比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:（以下介绍带有危险性，仅用于试验，请勿轻易施于别人机器上，否则后果自负） 
C:＼>ping -l 65500 -t 192.168.1.21 
Pinging 192.168.1.21 with 65500 bytes of data: 
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254 
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254 
……………… 
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包，如果你只有一台计算机也许没有什么效果，但如果有很多计算机那么就可以使对方完全瘫痪，我曾经就做过这样的试验，当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时，不到5分钟对方的网络就已经完全瘫痪，网络严重堵塞，HTTP和FTP服务完全停止，由此可见威力非同小可。 


-f Set Don't Fragment flag in packet. 
在数据包中发送“不要分段”标志。 
在一般你所发送的数据包都会通过路由分段再发送给对方，加上此参数以后路由就不会再分段处理。 


-i TTL Time To Live. 
指定TTL值在对方的系统里停留的时间。 
此参数同样是帮助你检查网络运转情况的。 


-v TOS Type Of Service. 
将“服务类型”字段设置为 tos 指定的值。 

-r count Record route for count hops. 
在“记录路由”字段中记录传出和返回数据包的路由。 
在一般情况下你发送的数据包是通过一个个路由才到达对方的，但到底是经过了哪些路由呢？通过此参数就可以设定你想探测经过的路由的个数，不过限制在了9个，也就是说你只能跟踪到9个路由，如果想探测更多，可以通过其他命令实现，我将在以后的文章中给大家讲解。以下为示例: 
C:＼>ping -n 1 -r 9 202.96.105.101 （发送一个数据包，最多记录9个路由） 

Pinging 202.96.105.101 with 32 bytes of data: 

Reply from 202.96.105.101: bytes=32 time=10ms TTL=249 
Route: 202.107.208.187 -> 
202.107.210.214 -> 
61.153.112.70 -> 
61.153.112.89 -> 
202.96.105.149 -> 
202.96.105.97 -> 
202.96.105.101 -> 
202.96.105.150 -> 
61.153.112.90 

Ping statistics for 202.96.105.101: 
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), 
Approximate round trip times in milli-seconds: 
Minimum = 10ms, Maximum = 10ms, Average = 10ms 
从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ，202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。 


-s count Timestamp for count hops. 
指定 count 指定的跃点数的时间戳。 
此参数和-r差不多，只是这个参数不记录数据包返回所经过的路由，最多也只记录4个。 


-j host-list Loose source route along host-list. 
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔（路由稀疏源）IP 允许的最大数量为 9。 


-k host-list Strict source route along host-list. 
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔（路由严格源）IP 允许的最大数量为 9。 


-w timeout Timeout in milliseconds to wait for each reply. 
指定超时间隔，单位为毫秒。 
此参数没有什么其他技巧。 

ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小，粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列，一般情况下Windows系列的系统返回的TTL值在100-130之间，而UNIX/Linux系列的系统返回的TTL值在240-255之间，当然TTL的值在对方的主机里是可以修改的，Windows系列的系统可以通过修改注册表以下键值实现: 
[HKEY_LOCAL_MACHINE＼SYSTEM＼CurrentControlSet＼Services＼Tcpip＼Parameters] 
"DefaultTTL"=dword:000000ff 
255---FF 
　 128---80 
　 64----40 
　 32----20 
好了，ping命令也基本上完全讲解完了，其中还有-j,-k参数我还没有详细说明，由于某些原因也包括我自己所收集的资料过少这里也没有向大家详细介绍，请大家见谅，如果在看了这篇文章的朋友当中有知道得比我更多的，以及其他使用技巧的也希望您能告诉我，并在此先谢过。 


对于Windows下ping命令相信大家已经再熟悉不过了，但是能把ping的功能发挥到最大的人却并不是很多，当然我也并不是说我可以让ping发挥最大的功能，我也只不过经常用ping这个工具，也总结了一些小经验，现在和大家分享一下。 
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧，ping只有在安装了TCP/IP协议以后才可以使用: 
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list 
Options: 
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C. 
不停的ping地方主机，直到你按下Control-C。 
此功能没有什么特别的技巧，不过可以配合其他参数使用，将在下面提到。 

-a Resolve addresses to hostnames. 
解析计算机NetBios名。 
示例:C:＼>ping -a 192.168.1.21 
Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data: 
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 
Ping statistics for 192.168.1.21: 
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: 
Minimum = 0ms, Maximum = 0ms, Average = 0ms 
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。 

-n count Number of echo requests to send. 
发送count指定的Echo数据包数。 
在默认情况下，一般都只发送四个数据包，通过这个命令可以自己定义发送的个数，对衡量网络速度很有帮助，比如我想测试发送50个数据包的返回的平均时间为多少，最快时间为多少，最慢时间为多少就可以通过以下获知: 
C:＼>ping -n 50 202.103.96.68 
Pinging 202.103.96.68 with 32 bytes of data: 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Request timed out. 
……………… 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 
Ping statistics for 202.103.96.68: 
Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds: 
Minimum = 40ms, Maximum = 51ms, Average = 46ms 
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中，返回了48个，其中有两个由于未知原因丢失，这48个数据包当中返回速度最快为40ms，最慢为51ms，平均速度为46ms。 


-l size Send buffer size. 
定义echo数据包大小。 
在默认的情况下windows的ping发送的数据包大小为32byt，我们也可以自己定义它的大小，但有一个大小的限制，就是最大只能发送65500byt，也许有人会问为什么要限制到65500byt，因为Windows系列的系统都有一个安全漏洞（也许还包括其他系统）就是当向对方一次发送的数据包大于或等于65532时，对方就很有可能挡机，所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制，但这个参数配合其他参数以后危害依然非常强大，比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:（以下介绍带有危险性，仅用于试验，请勿轻易施于别人机器上，否则后果自负） 
C:＼>ping -l 65500 -t 192.168.1.21 
Pinging 192.168.1.21 with 65500 bytes of data: 
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254 
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254 
……………… 
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包，如果你只有一台计算机也许没有什么效果，但如果有很多计算机那么就可以使对方完全瘫痪，我曾经就做过这样的试验，当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时，不到5分钟对方的网络就已经完全瘫痪，网络严重堵塞，HTTP和FTP服务完全停止，由此可见威力非同小可。 


-f Set Don't Fragment flag in packet. 
在数据包中发送“不要分段”标志。 
在一般你所发送的数据包都会通过路由分段再发送给对方，加上此参数以后路由就不会再分段处理。 


-i TTL Time To Live. 
指定TTL值在对方的系统里停留的时间。 
此参数同样是帮助你检查网络运转情况的。 


-v TOS Type Of Service. 
将“服务类型”字段设置为 tos 指定的值。 

-r count Record route for count hops. 
在“记录路由”字段中记录传出和返回数据包的路由。 
在一般情况下你发送的数据包是通过一个个路由才到达对方的，但到底是经过了哪些路由呢？通过此参数就可以设定你想探测经过的路由的个数，不过限制在了9个，也就是说你只能跟踪到9个路由，如果想探测更多，可以通过其他命令实现，我将在以后的文章中给大家讲解。以下为示例: 
C:＼>ping -n 1 -r 9 202.96.105.101 （发送一个数据包，最多记录9个路由） 

Pinging 202.96.105.101 with 32 bytes of data: 

Reply from 202.96.105.101: bytes=32 time=10ms TTL=249 
Route: 202.107.208.187 -> 
202.107.210.214 -> 
61.153.112.70 -> 
61.153.112.89 -> 
202.96.105.149 -> 
202.96.105.97 -> 
202.96.105.101 -> 
202.96.105.150 -> 
61.153.112.90 

Ping statistics for 202.96.105.101: 
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), 
Approximate round trip times in milli-seconds: 
Minimum = 10ms, Maximum = 10ms, Average = 10ms 
从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ，202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。 


-s count Timestamp for count hops. 
指定 count 指定的跃点数的时间戳。 
此参数和-r差不多，只是这个参数不记录数据包返回所经过的路由，最多也只记录4个。 


-j host-list Loose source route along host-list. 
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔（路由稀疏源）IP 允许的最大数量为 9。 


-k host-list Strict source route along host-list. 
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔（路由严格源）IP 允许的最大数量为 9。 


-w timeout Timeout in milliseconds to wait for each reply. 
指定超时间隔，单位为毫秒。 
此参数没有什么其他技巧。 

ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小，粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列，一般情况下Windows系列的系统返回的TTL值在100-130之间，而UNIX/Linux系列的系统返回的TTL值在240-255之间，当然TTL的值在对方的主机里是可以修改的，Windows系列的系统可以通过修改注册表以下键值实现: 
[HKEY_LOCAL_MACHINE＼SYSTEM＼CurrentControlSet＼Services＼Tcpip＼Parameters] 
"DefaultTTL"=dword:000000ff 
255---FF 
　 128---80 
　 64----40 
　 32----20 
好了，ping命令也基本上完全讲解完了，其中还有-j,-k参数我还没有详细说明，由于某些原因也包括我自己所收集的资料过少这里也没有向大家详细介绍，请大家见谅，如果在看了这篇文章的朋友当中有知道得比我更多的，以及其他使用技巧的也希望您能告诉我，并在此先谢过。 

FTP命令大全

FTP:文件传输协议。先说说他的功能吧，主要就是从运行FTP服务器的计算机传输文件。可以交互使用。这里要注意，只有安装了tcp/ip协议的机器才能使用ftp命令。 
命令格式:ftp [-v][-d][-i][-n][-g][-s:filename][-a][-w:windowsize][computer] 

说说他们的含义吧。 
-v 不显示远程服务器响应 
-n 禁止第一次连接的时候自动登陆 
-i 在多个文件传输期间关闭交互提示 
-d 允许调试、显示客户机和服务器之间传递的全部ftp命令 
-g 不允许使用文件名通配符，文件名通配符的意思是说允许在本地文件以及路径名中使用通配字符 
-s:filename 指定包含ftp命令的文本文件。在ftp命令启动后将自动运行这些命令。在加的参数里不能有空格。 
-a 绑定数据连接时，使用任何的本地端口 
-w:windowsize 忽略默认的4096传输缓冲区 
computer 指定要连接的远程计算机的ip地址 


呵呵，理解了上面的，就说说一些具体的命令，我个人觉得虽然现在工具用起来很方便了，但懂这些命令在很多地方还是很有用的，就像现在nt下的命令提示符
1） ? 
说明:显示ftp命令的说明。后面可以加参数，是加需要解释的命令名，不加则显示包含所有命令列表。 

2） append 
说明:使用当前文件类型设置，将本地文件附加到远程计算机中。大概格式是 
append local-file [remote-file] 其中local-file是说指定要添加的本地文件。 
remote-file是说指定要将local-file附加到远程计算机文件，要是省了这个，则是使用本地文件名做远程文件名。 

3)ascii 
说明:默认情况下，将文件传输类型设置为ASCII 

4)bell 
说明:响玲开关，意思是文件传输完成后是否有玲声提醒。默认是关闭的。 

5)binary 
说明:将文件传输类型设置为二进制。 

6)bye 
说明:结束和远程计算机的ftp会话，也就是安全断开，退出ftp. 

7)cd 
说明:更改远程计算机上的工作目录。如cd data 其中data是要进入的远程计算机的目录。 

8)close 
说明:结束与远程服务器的ftp会话，并返回命令解释程序。 

9)dir 
说明:显示远程的文件以及子目录列表。如dir data local-file 
其中data是指定要查看列表的目录，没指定的话就是当前目录。local-file是指定要保存列表的本地文件，不指定的话就在屏幕输出。 

10)debug 
说明:调试开关，打开的时候打印每个发送到远程计算机的命令，命令前有——> 
默认情况是关闭的。 

11)disconnnect 
说明:与远程计算机断开连接，但还保持着ftp命令提示符。 

12)get 
说明:使用当前文件传输类型，把远程的文件拷贝到本地计算机上。 
如get remote-file local-file 
remote-file是指定要复制的文件，local-file是指定本地计算机上的文件名， 
没有指定的话则个remote-file同名。 

13)glob 
说明:文件名通配开关 

14)hash 
说明:转换每个传输数据快的散列标记打印(#).数据快的大小是2048字节。默认情况下是关闭的， 

15)help 
说明:显示ftp命令的解释，如help commmand 其中command就是你要解释的命令，如果不加command这个参数的话就会显示所有命令的列表 

16)! 
说明:这个命令差点忘记了:)功能是在本地计算机上运行指定命令。如! command 其中command就是你要运行的命令，如果不加command这个参数的话，则显示本地命令提示， 这时你输入exit命令就能返回到ftp了。 

17)lcd 
说明:更改本地计算机的本地目录,在默认的时候是启动ftp的目录.这个不要觉得没用啊，在你使用ftp的时候为了传递文件不是常改变本地和远程计算机的目录吗?:) 
如lcd [directory] 其中[directory]是指定要进入的本地计算机的目录,如果你不加这个参数,就会显示出本地计算机的工作目录. 

18)literal 
说明:向远程ftp服务器发送协商参数,报告. 
如lireral argument [...] 其中argument是指定要发送给远程服务器的协商参数。 

19)ls 
说明:显示远程目录的文件和字目录. 
如ls remote-directory local-file 
其中remote-directory是指要查看的列表的目录,不指定的话显示的是当前工作目录。local-file是指定要保存列表的本地文件.不指定的话是在屏幕上输出. 

20)mdelete 
说明:删除远程计算机上的文件.如mdelete remote-file ... 
remote-file肯定是要删的文件啊，可以删除多个. 

21)mdir 
说明:显示远程目录的文件和子目录列表,他允许指定多个文件. 
如mdir remote-file ... local-file 
参数我想大家应该明白什么意思吧?不明白就看看前面的类似命令吧. 

22)mget 
说明:使用当前文件传输类型将多个远程文件复制到本地计算机. 
如mget remote-files ... 
其实remote-files可以指定多个，他就是指定要复制到本地计算机的远程文件. 

23)mkdir 
说明:创建远程目录. 
如mkdir directory 这个命令和nt下的命令提示符中的md directory一样，不多说了. 

24)mls 
说明:显示远程目录的文件和目录简表 
如mls remote-file ... local-file 
其中remote-file这个参数是必须要加的，’’-’’是使用远程计算机的当前工作目录. 

25)mput 
说明:使用当前文件传输类型,将本地文件复制到远程计算机. 
如mput local-files ... 

26)open 
说明:连接到指定ftp服务器上， 
如open computer port 其中computer一般是远程计算机的ip地址,port不用说就是指定端口了。 

27)prompt 
说明:转换提示,在多个文件传输的时候,ftp提示可以有选择的检索或保存文件，如果关闭提示,则mget和mput命令传输所有文件,在默认情况下是打开的. 

28)put 
说明:使用当前文件传输类型将本地文件复制到远程计算机中， 
如put local-file remote-file 
其中local-file是指定要复制的本地文件， 
remote-file是指定要复制的远程计算机上的文件名，不指定的话是和本地计算机上的文件名同名. 

29)pwd 
说明:显示远程呢感计算机上的当前目录. 

30)quit 
说明:结束与远程计算机的ftp会话,并退出ftp. 

31)quote 
说明:向远程ftp服务器发送协议,报告.期待ftp单码应答,这个命令的功能和literal相同. 

32)recv 
说明:使用当前文件传输类型将远程文件复制到本地计算机,他与get命令作用相同。 

33)remotehelp 
说明:显示远程命令的帮助.这个命令的用法和help,!一样可以参考他的用法. 

34)rename 
说明:更改远程计算机上的文件名。 
这个命令和nt的命令提示符的ren一样，如rename filename newfilename 

35)rmdir 
说明:删除远程目录. 
这个命令和nt的命令提示符的rm一样，如rmdir directory 

36)send 
说明:使用当前文件传输类型将本地文件复制到远程计算机.send和put命令的功能一样。 
如send local-file remote-file 

37)status 
说明:显示ftp连接和转换的当前状态 

38)trace 
说明:转换报文跟踪,运行ftp的命令时,trace将显示没个报文的理由。 

39)type 
说明:设置或显示文件传输类型. 
如type [type-name] 
其中type-name 的意思是文件传输的类型，默认是ASCII,没加这个参数就是显示当前的传输类型. 

40)user 
说明:指定连接到远程计算机的用户. 
如user user-name [passwd] [account] 
其中user-name不用说都是用来登陆计算机的用户名了， 
passwd是指定user-name的密码,不指定的话ftp会提示输入密码。 
account是指定用来登陆计算机的帐号,如不指定,ftp会提示输入帐号. 

41)verbose 
说明:转换冗余模式。这里如果打开,会显示所有ftp响应,文件传输结束的时候会显示传输的效率和统计信息,默认的情况是打开的. 

呵呵，命令就介绍这些了，可以自己熟悉一下,其实现在ftp的软件很多,很方便，但你说这些命令没用也是不可能的，就像windows下一样还保留着命令提示符.:)_ 特别有些时候ftp软件很多地方做不到的，.? 什么地方。 
打个比方，我看过一种觅名ftp用户得到admin的入侵列子,就的用到他.呵呵，这里不多说了,就写到这里了。


net命令详解

许多 Windows NT 网络命令以 net 开始。这些 net 命令有一些公共属性: 
通过键入 net /? 可查阅所有可用的 net 命令。 
通过键入 net help 命令可在命令行中获得 net 命令的语法帮助。例如，要得到 net acco
unts 命令的帮助，请键入 net help accounts。 
所有 net 命令接受选项 / yes 和 /no（可缩写为 / y 和 /n ）。/ y 对命令产生的任何交
互提示自动回答“是”，/n 回答“否”。例如，net stop server 通常提示确认是否根据服
务器服务结束所有服务，net stop server /y 自动回答“是”并关闭服务器服务。 
Net Accounts 
更新用户帐号数据库、更改密码及所有帐号的登录要求。必须要在更改帐号参数的计算机上
运行网络登录服务。 
net accounts [/forcelogoff:{minutes | no}] [/minpwlen:length] [/maxpwage:{days |
unlimited}] [/minpwage:days] [/uniquepw:number] [/domain] 
net accounts [/sync] [/domain] 
参数 
无 
键入不带参数的 net accounts，将显示当前密码设置、登录时限及域信息。 
/forcelogoff:{minutes | no} 
设置当用户帐号或有效登录时间过期时，结束用户和服务器会话前的等待时间。no 选项禁止
强行注销。该参数的默认设置为 no。 
指定 /forcelogoff:minutes 之后，Windows NT 在其强制用户退出网络 minutes 分钟之前
，将给用户发出警报。如果还有打开的文件，Windows NT 将警告用户。如果 minutes 小于
两分钟，Windows NT 警告用户立即从网络注销。 
/minpwlen:length 
设置用户帐号密码的最少字符数。允许范围是 0-14，默认值为 6。 
/maxpwage:{days | unlimited} 
设置用户帐号密码有效的最大天数。unlimited 不设置最大天数。/maxpwage 选项的天数必
须大于 /minpwage。允许范围是 1-49,710 天 (unlimited)。默认值为 90 天。 
/minpwage:days 
设置用户必须保持原密码的最小天数。 0 值不设置最小时间。允许范围是 0-49,710 天，默
认值为 0 天。 
/uniquepw:number 
要求用户更改密码时，必须在经过 number 次后，才能重复使用与之相同的密码。允许范围
是 0-8。默认值为 5。 
/domain 
在当前域的主域控制器上执行该操作。否则只在本地计算机执行操作。 
该参数仅用于 Windows NT Server 域中的 Windows NT Workstation 计算机，Windows NT 
Server 计算机默认为在主域控制器执行操作。 
/sync 
当用于主域控制器时，该命令使域中所有备份域控制器同步；当用于备份域控制器时，该命
令仅使该备份域控制器与主域控制器同步。该命令仅适用于 Windows NT Server 域成员的计
算机。 
Net Computer 
从域数据库中添加或删除计算机。该命令仅在运行 Windows NT Server 的计算机上可用。 
net computer \computername {/add | /del} 
参数 
\computername 
指定要添加到域或从域中删除的计算机。 
/add 
将指定计算机添加到域。 
/del 
将指定计算机从域中删除。 
Net Config 
显示当前运行的可配置服务，或显示并更改某项服务的设置。 
net config [service [options]] 
参数 
无 
键入不带参数的 net config 将显示可配置服务的列表。 
service 
通过 net config 命令进行配置的服务（server 或 workstation）。 
options 
服务的特定选项。完整语法请参阅 net config server 或 net config workstation。 
Net Config Server 
运行服务时显示或更改服务器的服务设置。 
net config server [/autodisconnect:time] [/srvcomment:"text "] [/hidden:{yes | n
o}] 
参数 
无 
键入不带参数的 net config server，将显示服务器服务的当前配置。 
/autodisconnect:time 
设置断开前用户会话闲置的最大时间值。可以指定 -1，表示永不断开连接。允许范围是 -1
-65535 分钟，默认值是 15 分钟。 
/srvcomment:"text " 
为服务器添加注释，可以通过 net view 命令在屏幕上显示所加注释。注释最多可达 48 个
字符，文字要用引号引住。 
/hidden:{yes | no} 
指定服务器的计算机名是否出现在服务器列表中。请注意隐含某个服务器并不改变该服务器
的权限。默认为 no。 
Net Config Workstation 
服务运行时，显示或更改工作站各项服务的设置。 
net config workstation [/charcount:bytes] [/chartime:msec] [/charwait:sec] 
参数 
无 
键入不带参数的 net config workstation 将显示本地计算机的当前配置。 
/charcount:bytes 
指定 Windows NT 在将数据发送到通讯设备之前收集的数据量。如果同时设置 /chartime:m
sec 参数，Windows NT 按首先满足条件的选项运行。允许范围是 0-65535 字节，默认值是
16 字节。 
/chartime:msec 
指定 Windows NT 在将数据发送到通讯设备之前收集数据的时间。如果同时设置 /charcoun
t:bytes 参数，Windows NT 按首先满足条件的选项运行。允许范围是 0-65535000 毫秒，默
认值是 250 毫秒。 
/charwait:sec 
设置 Windows NT 等待通讯设备变为可用的时间。允许的范围是 0-65535 秒，默认值是 36
00 秒。 
Net Continue 
重新激活挂起的服务。 
net continue service 
参数 
service 
能够继续运行的服务，包括: file server for macintosh（该服务仅限于 Windows NT Se
rver）, ftp publishing service, lpdsvc, net logon, network dde，network dde dsdm
，nt lm security support provider，remoteboot（该服务仅限于 Windows NT Server），
remote access server, schedule，server，simple tcp/ip services 及 workstation 。
Net File 
显示某服务器上所有打开的共享文件名及锁定文件数。该命令也可以关闭个别文件并取消文
件锁定。 
net file [id [/close]] 
参数 
无 
键入不带参数的 net file 可获得服务器上打开文件的列表。 
id 
文件标识号。 
/close 
关闭打开的文件并释放锁定记录。请从共享文件的服务器中键入该命令。 
Net Group 
在 Windows NT Server 域中添加、显示或更改全局组。该命令仅在 Windows NT Server 域
中可用。 
net group [groupname [/comment:"text "]] [/domain] 
net group groupname {/add [/comment:"text "] | /delete} [/domain] 
net group groupname username [ ...] {/add | /delete} [/domain] 
参数 
无 
键入不带参数的 net group 可以显示服务器名称及服务器的组名称。 
groupname 
要添加、扩展或删除的组。仅提供某个组名便可查看组中的用户列表。 
/comment:"text " 
为新建组或现有组添加注释。注释最多可以是 48 个字符，并用引号将注释文字引住。 
/domain 
在当前域的主域控制器中执行该操作，否则在本地计算机上执行操作。 
该参数仅用于作为 Windows NT Server 域成员的 Windows NT Workstation 计算机。Windo
ws NT Server 计算机默认为在主域控制器中操作。 
username[ ...] 
列表显示要添加到组或从组中删除的一个或多个用户。使用空格分隔多个用户名称项。 
/add 
添加组或在组中添加用户名。必须使用该命令为添加到组中的用户建立帐号。 
/delete 
删除组或从组中删除用户名。 
Net Help 
提供网络命令列表及帮助主题，或提供指定命令或主题的帮助。可用网络命令列于 N 下面的
“命令参考”中“命令”窗口内。 
net help [command] 
net command {/help | /?} 
参数 
无 
键入不带参数的 net help 显示能够获得帮助的命令列表和帮助主题。 
command 
需要其帮助的命令，不要将 net 作为 command 的一部分。 
/help 
提供显示帮助文本方式选择。 
/? 
显示命令的正确语法。 
Net Helpmsg 
提供 Windows NT 错误信息的帮助。 
net helpmsg message# 
参数 
message# 
需要其帮助的 Windows NT 消息的四位代码。 
Net Localgroup 
添加、显示或更改本地组。 
net localgroup [groupname [/comment:"text "]] [/domain] 
net localgroup groupname {/add [/comment:"text "] | /delete} [/domain] 
net localgroup groupname name [ ...] {/add | /delete} [/domain] 
参数 
无 
键入不带参数的 net localgroup 将显示服务器名称和计算机的本地组名称。 
groupname 
要添加、扩充或删除的本地组名称。只提供 groupname 即可查看用户列表或本地组中的全局 
组。 
/comment: "text " 
为新建或现有组添加注释。注释文字的最大长度是 48 个字符，并用引号引住。 
/domain 
在当前域的主域控制器中执行操作，否则仅在本地计算机上执行操作。 
该参数仅应用于 Windows NT Server 域中的 Windows NT Workstation 计算机。Windows N
T Server 计算机默认为在主域控制器中操作。 
name [ ...] 
列出要添加到本地组或从本地组中删除的一个或多个用户名或组名，多个用户名或组名之间
以空格分隔。可以是本地用户、其他域用户或全局组，但不能是其他本地组。如果是其他域
的用户，要在用户名前加域名（例如，SALESRALPHR）。 
/add 
将全局组名或用户名添加到本地组中。在使用该命令将用户或全局组添加到本地组之前，必
须为其建立帐号。 
/delete 
从本地组中删除组名或用户名。 
Net Name 
添加或删除消息名（有时也称别名），或显示计算机接收消息的名称列表。要使用 net nam
e 命令，计算机中必须运行信使服务。 
net name [name [/add | /delete]] 
参数 
无 
键入不带参数的 net name 将列出当前使用的名称。 
name 
指定接收消息的名称。名称最多为 15 个字符。 
/add 
将名称添加到计算机中。 /add 是可选项，键入 net name name 与键入 net name name /a
dd 相同。 
/delete 
从计算机中删除名称。 
Net Pause 
暂停正在运行的服务。 
net pause service 
参数 
service 
指下列服务: file server for macintosh（仅限于 Windows NT Server）、ftp publishi
ng service、lpdsvc、net logon、network dde、network dde dsdm、nt lm security sup
port provider、remoteboot（仅限于 Windows NT Server）、remote access server、sch
edule、server、simple tcp/ip services 或 workstation 。 
Net Print 
显示或控制打印作业及打印队列。 
net print \computername sharename 
net print [\computername ] job# [/hold | /release | /delete] 
参数 
computername 
共享打印机队列的计算机名。 
sharename 
打印队列名称。当包含 computername 与 sharename 时，使用反斜杠 () 将它们分开。 
job# 
在打印机队列中分配给打印作业的标识号。有一个或多个打印机队列的计算机为每个打印作
业分配唯一标识号。如果某个作业号用于共享打印机队列中，则不能指定给其他作业，也不
能分配给其他打印机队列中的作业。 
/hold 
使用 job# 时，在打印机队列中使打印作业等待。打印作业停留在打印机队列中，并且其他
打印作业只能等到释放该作业之后才能进入。 
/release 
释放保留的打印作业。 
/delete 
从打印机队列中删除打印作业。 
Net Send 
向网络的其他用户、计算机或通信名发送消息。要接收消息必须运行信使服务。 
net send {name | * | /domain[:name] | /users} message 
参数 
name 
要接收发送消息的用户名、计算机名或通信名。如果计算机名包含空字符，则要将其用引号
(" ") 引住。 
* 
将消息发送到组中所有名称。 
/domain[:name] 
将消息发送到计算机域中的所有名称。如果指定 name，则消息将发送到指定域或组中的所有
名称。 
/users 
将消息发送到与服务器连接的所有用户。 
message 
作为消息发送的文本。 
Net Session 
列出或断开本地计算机和与之连接的客户端的会话。 
net session [\computername] [/delete] 
参数 
无 
键入不带参数的 net session 可以显示所有与本地计算机的会话的信息。 
\computername 
标识要列出或断开会话的计算机。 
/delete 
结束与 \computername 计算机会话并关闭本次会话期间计算机的所有打开文件。如果省略 
\computername 参数，将取消与本地计算机的所有会话。 
Net Share 
创建、删除或显示共享资源。 
net share sharename 
net share sharename=drive:path [/users:number | /unlimited] [/remark:"text"] 
net share sharename [/users:number | unlimited] [/remark:"text"] 
net share {sharename | drive:path} /delete 
参数 
无 
键入不带参数的 net share 将显示本地计算机上所有共享资源的信息。 
sharename 
是共享资源的网络名称。键入带 sharename 的 net share 命令，只显示该共享信息。 
drive:path 
指定共享目录的绝对路径。 
/users:number 
设置可同时访问共享资源的最大用户数。 
/unlimited 
不限制同时访问共享资源的用户数。 
/remark:"text " 
添加关于资源的注释，注释文字用引号引住。 
/delete 
停止共享资源。 
Net Start 
启动服务，或显示已启动服务的列表。如果服务名是两个或两个以上的词，如 Net Logon 或
Computer Browser，则必须用引号 (") 引住。. 
net start [service] 
参数 
无 
键入不带参数的 net start 则显示运行服务的列表。 
service 
包括下列服务: alerter、client service for netware、clipbook server、computer br
owser、dhcp client 、directory replicator 、eventlog 、ftp publishing service 、
lpdsvc、messenger 、net logon 、network dde 、network dde dsdm 、network monitor
ing agent 、nt lm security support provider 、ole 、remote access connection man
ager 、remote access isnsap service 、remote access server 、remote procedure ca
ll (rpc) locator 、remote procedure call (rpc) service 、schedule 、server 、sim
ple tcp/ip services 、snmp、spooler 、tcp/ip netbios helper 、ups 及 workstation
。 
下列服务仅在 Windows NT Server 下可用:file server for macintosh、gateway servic
e for netware、microsoft dhcp server、print server for macintosh、remoteboot、wi
ndows internet name service 。 
Net Statistics 
显示本地工作站或服务器服务的统计记录。 
net statistics [workstation | server] 
参数 
无 
键入不带参数的 net statistics 将列出其统计信息可用的运行服务。 
workstation 
显示本地工作站服务的统计信息。 
server 
显示本地服务器服务的统计信息。 
Net Stop 
停止 Windows NT 网络服务。 
net stop service 
参数 
service 
包括下列服务: alerter（警报）、client service for netware（Netware 客户端服务）
、clipbook server（剪贴簿服务器）、computer browser（计算机浏览器）、directory r
eplicator（目录复制器）、ftp publishing service (ftp )（ftp 发行服务）、lpdsvc、
messenger（信使）、net logon（网络登录）、network dde（网络 dde）、network dde d
sdm（网络 dde dsdm）、network monitor agent（网络监控代理）、nt lm security supp
ort provider（NT LM 安全性支持提供）、ole（对象链接与嵌入）、remote access conne
ction manager（远程访问连接管理器）、remote access isnsap service（远程访问 isns
ap 服务）、remote access server（远程访问服务器）、remote procedure call (rpc) l
ocator（远程过程调用定位器）、remote procedure call (rpc) service（远程过程调用服
务）、schedule（调度）、server（服务器）、simple tcp/ip services（简单 TCP/IP 服
务）、snmp、spooler（后台打印程序）、tcp/ip netbios helper（TCP/IP NETBIOS 辅助工
具）、ups 及 workstation（工作站）。 
下列服务仅在 Windows NT Server 中可用: file server for macintosh、gateway servi
ce for netware、microsoft dhcp server、print server for macintosh、remoteboot、w
indows internet name service。 
Net Time 
使计算机的时钟与另一台计算机或域的时间同步。不带 /set 参数使用时，将显示另一台计
算机或域的时间。 
net time [\computername | /domain[:name]] [/set] 
参数 
\computername 
要检查或同步的服务器名。 
/domain[:name] 
指定要与其时间同步的域。 
/set 
使本计算机时钟与指定计算机或域的时钟同步。 
Net Use 
连接计算机或断开计算机与共享资源的连接，或显示计算机的连接信息。该命令也控制永久
网络连接。 
net use [devicename | *] [\computernamesharename[volume]] [password | *]] [/user
:[domainname]username] [[/delete] | [/persistent:{yes | no}]] 
net use devicename [/home[password | *]] [/delete:{yes | no}] 
net use [/persistent:{yes | no}] 
参数 
无 
键入不带参数的 net use 将列出网络连接。 
devicename 
指定要连接到的资源名称或要断开的设备名称。有两类设备名:磁盘驱动器（D: 到 Z:）和
打印机（LPT1: 到 LPT3）。若键入星号而不是指定设备名将分配下一个可用设备名。 
\computernamesharename 
服务器及共享资源的名称。如果计算机名包含空白字符，要用引号 (" ") 将双反斜线及计算
机名引住。计算机名长度可以是 1-15 个字符。 
volume 
指定服务器上的 NetWare 卷。要连接到 NetWare 服务器，必须安装并运行 NetWare 客户机
服务 (Windows NT Workstation) 或 NetWare 网关服务 (Windows NT Server)。 
password 
访问共享资源的密码。 
* 
提示键入密码。在密码提示行中键入密码时，将不显示该密码。 
/user 
指定进行连接的另外一个用户。 
domainname 
指定另一个域。例如 net use d: \servershare /user:adminmariel 连接用户 mariel，如
同从 admin 域连接一样。如果省略域，将使用当前登录域。 
username 
指定登录的用户名。 
/home 
将用户连接到其宿主目录。 
/delete 
取消指定网络连接。如果用户以星号指定连接，则取消所有网络连接。 
/persistent 
控制永久网络连接的使用。默认为上次使用的设置。无设备的连接不是永久的。 
yes 
保存建立的所有连接，并在下次登录时还原。 
no 
不保存建立的连接和继发连接，并在下次登录时还原现有连接。使用 /delete 开关项取消永
久连接。 
Net User 
添加或更改用户帐号或显示用户帐号信息。 
net user [username [password | *] [options]] [/domain] 
net user username {password | *} /add [options] [/domain] 
net user username [/delete] [/domain] 
参数 
无 
键入不带参数的 net user 将查看计算机上的用户帐号列表。 
username 
添加、删除、更改或查看用户帐号名。用户帐号名最多可以有 20 个字符。 
password 
为用户帐号分配或更改密码。密码必须满足在 net accounts 命令 /minpwlen 选项中设置的
最小参数。最多是 14 个字符。 
* 
提示输入密码。在密码提示行中键入密码时，将不显示该密码。 
/domain 
在计算机主域的主域控制器中执行操作。 
该参数仅在 Windows NT Server 域成员的 Windows NT Workstation 计算机上可用。默认情
况下，Windows NT Server 计算机在主域控制器中执行操作。 
注意:在计算机主域的主域控制器发生该动作。它可能不是登录域。 
/add 
将用户帐号添加到用户帐号数据库。 
/delete 
从用户帐号数据库中删除用户帐号。 
选项如下所示: 
/active:{no | yes} 
启用或禁止用户帐号。如果不激活用户帐号，用户就不能访问计算机上的资源。默认值是 y
es （激活）。 
/comment:"text" 
提供用户帐号的注释。该注释最多可以有 48 个字符，文字用引号引住。 
/countrycode:nnn 
使用操作系统的国家代码以便为用户帮助和错误信息文件提供指定语言文件。0 值表示默认
国家代码。 
/expires:{date | never} 
如果设置 date，将导致用户帐号过期，never 不对用户帐号设置时间限制。过期日期根据 
/countrycode 值可以是下列格式: mm/dd/yy、dd/mm/yy 或 mmm, dd, yy。注意帐号在指定
日期开始时过期。月份可以是数字、全名或三个字母的简拼。年可以是两位或四位数，使用
逗号或斜线（不要用空格） 区分日期的各部分。如果省略 yy ，则使用该日期下一次到来的
年份（根据计算机的时钟）。例如如果在 1994 年 1 月 10 日到 1995 年 1 月 8 日之间输
入下列日期项，那它们相同:jan,9 
1/9/95 
january,9,1995 
1/9 
/fullname:"name" 
指定用户全名而不是用户名。用引号将名字引住。 
/homedir:path 
设置用户宿主目录的路径。该路径必须存在。 
/homedirreq:{yes | no} 
设置是否需要宿主目录。 
/passwordchg:{yes | no} 
指定用户是否能改变自己的密码。默认值是 yes。 
/passwordreq:{yes | no} 
指定用户帐号是否需要密码，默认值是 yes。 
/profilepath:[path] 
设置用户登录配置文件的路径。该路径名指向注册表配置文件。 
/scriptpath:path 
为用户登录脚本设置路径。Path 不能是绝对路径； 
path 是相对于 %systemroot%SYSTEM32REPLIMPORTSCRIPTS 的相对路径:。 
/times:{times | all} 
指定允许用户使用计算机的时间。times 值表示为 day[-day][, day[-day]] , time[-time
][, time[-time]], 增量限制为一小时。Days 可以是全名或简写（M、T、W、Th、F、Sa、S
u）。Hours 可以是 12 小时制或 24 小时制。对于 12 小时值，使用 AM、PM 或 A.M、P.M
。all 表示用户总可以登录。空值表示用户永远不能登录。用逗号分隔日期和时间，分隔时
间和日期的单位用分号（例如 M,4AM-5PM; T,1PM-3PM）。指定 /times 时不要使用空格。 
/usercomment:"text " 
让管理员添加或更改帐号的“用户注释”。用引号引住文字。 
/workstations:{computername[,...] | *} 
列出最多八个用户可以登录到网络的工作站。用逗号分隔列表中的多个项。如果 /workstat
ions 没有列表，或如果列表是星号“*”，则用户可以从任何一台计算机登录。 
Net View 
显示域列表、计算机列表或指定计算机的共享资源列表。 
net view [\computername | /domain[:domainname]] 
net view /network:nw [\computername] 
参数 
无 
键入不带参数的 net view 将显示当前域的计算机列表。 
\computername 
指定要查看其共享资源的计算机。 
/domain[:domainname] 
指定要查看其可用计算机的域。如果省略 domainname ，则显示网络的所有域。 
/network:nw 
显示 NetWare 网络中所有可用的服务器。如果指定计算机名，则显示 NetWare 网络中该计
算机的可用资源。也可以用此开关指定添加到系统中的其他网络。


telnet命令详解

除了在Telnet是如何工作的例子介绍的以外,Telnet还有很多的特点。Telnet可发送除了"escape"的任何字符到远程主机上。因为"escape"字符在Telnet中是客户机的一个特殊的命令模式，它的默认值是"Ctrl-]"。但要注意不要与键盘上的Esc键混淆，我们可以设定"escape"为任意某个字符，只是对Telnet来说以为着该字符不可能再被传送到远程主机上，而Esc键是一非打印字符，Telnet用它来删除远程系统中的命令。而且还应记住，"escape"字符并不总以"Ctrl-]"来表示。

可以仅仅键入Telnet,后面不带机器字句。这种情况下所看到的是Telnet>,这是告知Telnet在等待键入命令，比如键入问号"?"那么就得到一个有用的命令表:

telnet: ?

Commands may be abbreviated, Command are:

open connect to a site

close close currect connection

quit exit telnet

display display operating parameters

send transmit special characters ('send ?' for more)

set set operating parameters('set ?' for more)

status print status information

toggle toggle operating parameters('toggle ?' for more)

mode try to enter line-by-line or character-at-a-time mode

? print help information

虽然命令很多，甚至还有子命令，但只有一些是常用的。现在介绍以下的几个:

Close:

该命令用语终止连接。它自动切断与远程系统的连接，也可以用它退出Telnet，在冒失的进入一个网络主机时，想退出的话，就可以用到这个命令。

open:

用它来与一个命名机器连接，要求给出目标机器的名字或IP地址。如果未给出机器名，Telnet就将要你选择一个机器名。必须注意，在使用"Open"命令之前应该先用"close"来关闭任何已经存在的连接。

Set ECHO:

用于本地的响应是On或是Off。作用是是否把输出的内容显示在屏幕上。和DOS的ECHO基本上是一样。如果机器是处于ECHO ON的话，想改变为OFF，那么就可以输入SET ECHO,想再改变回ECHO OFF，那么就再键入SET ECHO就可以了。(这儿说的比较简短,如果有不明白的,可以与我联系)

Set escape char:

建立"escape"字符到某个特殊的符号，若想用某种控制符号来代替，可以用"asis"或者键入符号"^"加字母b(如:^b）。在正常工作时，是不需要用"escape"这个字符的，并且这个被用作"escape"的符号不应该再被使用。这类似于许多程序中对键盘上的每一个键设定其真正的涵义。但如果正在运行一个 daisy-chained 应用系统，那么可以重新议定"escape"字符的特征便是很有用的。例如:用Telnet从系统A到系统B，接着又用Telnet注册进入系统C。如果正在系统C上工作时出了故障，那么当"escape"代表符是相同时，就没法中断系统B到系统C的连接。键入"escape"代表符，将总是处于系统A的命令模式。如果在每个Telnet部分使用不同的"escape"代表符，便可以通过键入适当的符号，来选择其中一个命令模式，这也可以用于其他的应用中（像终端仿真）。

Quit:

用它可顺利地推出Telnet程序。

Z:

用语保留Telnet但暂时回到本地系统执行其他命令。并且在Telnet中的连接以及其他的选择在Telnet恢复时仍被保留。

Carriage Return:

用于不具体的一个命令从命令模式返回到所连接的远程机器上。另外，还有许多其他的命令可以推出命令模式。下面举一个例子，是从注册进入到porky.math.ukans.edu ,然后进入命令模式，然后返回porky::

telnet porky.math.ukans.edu

Trying 129.237.128.11...

Connected to porky.math.ukans.edu.

Escape character is '^]'.

SunOS UNIX(porky)

login:wl

password:

Last Login: Tue Mar 28 05:35 from ns.bta.net.cn

SunOS Release 4.1.3_U1(SLIPPERY1) #3: Sun Nov 20 23:47:23 CST 1999

No match.

if:Expression syntax.

porky/serv/wl%cd/

porky/%CTRL-]

telnet:?

Commands may be abbreviated, Command are:

open connect to a site

close close currect connection

quit exit telnet

display display operating parameters

send transmit special characters ('send ?' for more)

set set operating parameters('set ?' for more)

status print status information

toggle toggle operating parameters('toggle ?' for more)

mode try to enter line-by-line or character-at-a-time mode

? print help information

telnet:set escape ^b

escape character is ’^b’

porky/%logout

ns.bta.net.cn%

注意:set命令也可以退出命令模式。当然，如果不行，可以回车输入一空行，也能回到porky。 


NETSTAT命令详解

netstat命令是一个监控TCP/IP网络的非常有用的工具，它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息，在我的计算机上执行netstat后，其输出结果为: 
Active Internet connections (w/o servers) 
Proto Recv-Q Send-Q Local Address Foreign Address State 
tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED 
tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED 
tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED 
tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED 
tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE 
Active UNIX domain sockets (w/o servers) 
Proto RefCnt Flags Type State I-Node Path 
unix 1 [ ] STREAM CONNECTED 16178 @000000dd 
unix 1 [ ] STREAM CONNECTED 16176 @000000dc 
unix 9 [ ] DGRAM 5292 /dev/log 
unix 1 [ ] STREAM CONNECTED 16182 @000000df 
从整体上看，netstat的输出结果可以分为两个部分，一个是Active Internet connections，称为有源TCP连接，另一个是Active UNIX domain sockets，称为有源Unix域套接口。在上面的输出结果中，第一部分有5个输出结果，显示有源TCP连接的情况，而第二部分的输出结果显示的是Unix域套接口的连接情况。Proto显示连接使用的协议；RefCnt表示连接到本套接口上的进程号；Types显示套接口的类型；State显示套接口当前的状态；Path表示连接到套接口的其它进程使用的路径名。 
事实上，netstat是若干个工具的汇总。 
◆ 显示路由表 
在随- r标记一起调用n e t s t a t时，将显示内核路由表，就像我们利用r o u t e命令一样。产生的输出如下: 
[root@machine1 /]$ netstat -nr 
Kernel IP routing table 
Destination Gateway Genmask Flags MSS Window irtt Iface 
210.34.6.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0 
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 
0.0.0.0 210.34.6.2 0.0.0.0 UG 0 0 0 eth0 
- n 选项令netstat以点分四段式的形式输出IP地址，而不是象征性的主机名和网络名。如果想避免通过网络查找地址（比如避开DNS或NIS服务器），这一点是特别有用的。 
netstat输出结果中，第二列展示的是路由条目所指的网关，如果没有使用网关，就会出现一个星号（*）或者0.0.0.0；第三列展示路由的概述，在为具体的I P地址找出最恰当的路由时，内核将查看路由表内的所有条目，在对找到的路由与目标路由比较之前，将对I P地址和genmask进行按位“与”计算；第四列显示了不同的标记，这些标记的说明如下: 
■ G 路由将采用网关。 
■ U 准备使用的接口处于“活动”状态。 
■ H 通过该路由，只能抵达一台主机。 
■ D 如果路由表的条目是由ICMP重定向消息生成的，就会设置这个标记。 
■ M 如果路由表条目已被ICMP重定向消息修改，就会设置这个标记。 
netstat输出结果的Iface显示该连接所用的物理网卡，如eth0表示用第一张，eth1表示用第二张。 
◆ 显示接口特性 
在随- i标记一起调用时， netstat将显示网络接口的当前配置特性。除此以外，如果调用时还带上-a选项，它还将输出内核中所有接口，并不只是当前配置的接口。netstat-i的输出结果是这样的: 
[root@machine1 /]$ netstat -i 
Kernel Interface table 
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg 
eth0 1500 0 787165 0 0 1 51655 0 0 0 BRU 
eth1 1500 0 520811 0 0 0 1986 0 0 0 BRU 
lo 3924 0 1943 0 0 0 43 0 0 0 LRU 
MTU和Met字段表示的是接口的MTU和度量值值；RX和TX这两列表示的是已经准确无误地收发了多少数据包（ RX - OK / TX - OK）、产生了多少错误（ RX-ERR/TX-ERR）、丢弃了多少包（RX-DRP/TX-DRP），由于误差而遗失了多少包（RX-OVR/TX-OVR）；最后一列展示的是为这个接口设置的标记，在利用ifconfig显示接口配置时，这些标记都采用一个字母。它们的说明如下: 
■ B 已经设置了一个广播地址。 
■ L 该接口是一个回送设备。 
■ M 接收所有数据包（混乱模式）。 
■ N 避免跟踪。 
■ O 在该接口上，禁用A R P。 
■ P 这是一个点到点链接。 
■ R 接口正在运行。 
■ U 接口处于“活动”状态。 
◆ 显示链接 
netstat支持用于显示活动或被动套接字的选项集。选项- t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。如果你另外还提供了一个- a标记，还会显示出等待连接（也就是说处于监听模式）的套接字。这样就可以得到一份服务器清单，当前所有运行于系统中的所有服务器都会列入其中。 
调用netstat -ta时，输出结果如下: 
[root@machine1 /]$ netstat -ta 
Active Internet connections (servers and established) 
Proto Recv-Q Send-Q Local Address Foreign Address State 
tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED 
tcp 0 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED 
tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED 
tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED 
tcp 0 0 *:9001 *:* LISTEN 
tcp 0 0 *:6000 *:* LISTEN 
tcp 0 0 *:socks *:* LISTEN 
tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE 
上面的输出表明部分服务器处于等待接入连接状态。利用- a选项的话，netstat还会显示出所有的套接字。注意根据端口号，可以判断出一条连接是否是外出连接。对呼叫方主机来说，列出的端口号应该一直是一个整数，而对众所周知服务（well known service）端口正在使用中的被呼叫方来说，netstat采用的则是取自/etc/services文件的象征性服务名


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是键盘缓冲工具。
    总之，利用批处理命令和批处理增强工具，我们可以编出许多强大的批处理文件来，大家不妨一试。许多批处理工具可以在“脚本工具”中下载。
http://41bb.info/dy/5uwl/200842311449.html