DOS(2)

441 阅读36分钟
DOS解决问题实战
看了前面的文章,相信大家对DOS的基础操作以有了一个较深的印象了吧。但光掌握以上的这些内容是远远不够的,解决电脑问题,最主要的还是能够将学到的死知识转化为自己可以熟练使用的兵器。当然,这也不是一朝一夕就可以达到的,同时也要靠经验的积累。下面就请大家随我一道来看几个实例,从中找出解决问题的关键和主要的思路。
故障事例:
某电脑在使用时突然停电,来电后开启电脑,但Windows系统无法正常启动,死机频繁。
故障分析:
从这个原因,我们可以大致推断:停电造成电脑非法关机而损伤磁盘文件,从而导致Windows系统受到损坏,无法正常运行。
大致操作:
从解决文件损坏这个角度出发,需要修复损坏的文件,如果损坏严重,也可以考虑重装Windows。
具体操作:
1、进入DOS。由于Windows受损,只有在DOS下进行操作。在系统引导、出现\"Starting Windows.....\"的时候按下\"F8\"键,然后再选择\"Command Prompt Only\"即可进入DOS方式。为了使修复速度更快,我们可以运行Windows目录下的\"SMARTDRV.EXE\"程序,这是一个加速磁盘读取速度的缓存程序。
2、运行SCANDISK程序,必要时可以加上\"/autofix\"参数,这样在第一次选择后就可让程序自动修复。
3、运行CHKDSK程序,查看是否还存在着问题,并可以使用\"/F\"进行修复。
4、运行Windows,看系统是否恢复正常。如果在启动时提示注册表出错,可以重新进入DOS,在Windows目录下运行\"SCANREG /RESTORE\",然后在列表中选择一个好的注册表文件就行了。
5、如果文件系统受损严重,就需要重新安装Windows。
如果无法正常进入Windows,那需要重新安装Windows的任务又只得在DOS下进行了。对于广大初学者,在DOS下安装Windows还有一定的困难,下面我就具体讲解一下在DOS下的安装。这里的安装使用光盘启动,若使用软盘启动其操作大致相同。
1、在开机进行自检时按下\"DEL\"键从而进入BIOS设置,在\"BIOS FEATURES SETUP\"的\"Boot Sequence\"将\"CDROM\"一项设置在最前面;按\"ESC\"键退到主画面,按\"F10\"键,并输入\"Y\",即可存盘退出。
2、在开机前将系统启动盘放入光驱。
3、在启动后的启动菜单中选择\"启动并使用光驱(With CDROM)\",大家也可以选择启动后自动运行Windows98的安装程序,但那样并不和我意,安装过程将十分漫长,所以在安装前我们需要运行\"SMARTDRV.EXE\"。
4、进入DOS后就转到光驱盘符,使用\"DIR\"命令查看目录,然后进入Windows的安装目录(目录名大都可以见名知意,一般为\"Win98\"、\"Win\"、\"Windows\"等)。
5、运行\"SMARTDRV.EXE\"。
6、运行\"SETUP.EXE\",回车后会进入磁盘扫描,完成后即可进入安装,其操作就和在Windows中安装一样了。
看完了这两个最常见的问题,你是否有所收获?主要大家将基础的东西掌握后,面对问题不慌不乱,仔细思考分析,能从其它的故障中不断总结经验,你也很快会成为一个电脑高手。另外,多帮助他人解决问题也能使你获得更多的锻炼机会,增加自己的知识面,从而可以积累更多、更好的资本。 
CALL的其他用途
熟悉dos的人都知道call用来调用.bat文件,但也可调用其他文件如.com,.exe甚至dos内部命令。例如:call dir和call echo hello。
进入带密码子目录
如:子目录%S%(%代表怪字符)
(1)DIR *S*.*>S.BAT;(2)使用字处理软件编辑,删除不需要的内容,并使内容为CD %S%,存盘;(3)执行批处理文件S.BAT,即进入。
快速删除误拷入硬盘中的文件
有时软盘中的文件拷入硬盘时,忘记建立新子目录,此时新旧文件混杂,可如此删除新文件:C>FOR %A IN(*.*) DO IF EXIST A: %A DEL %A,建立批处理时,改所有%为%%
不用查病毒软件检查病毒存在的几种方法
(1)“MEM/C/P”查看保留内存(RESERRED)为0,则有;为393,216,则无;
(2)“ARJ I”报告CRC ERROR,则有;OK!,则无;
增大内存资源配置
COPY CON: CONFIG.SYS
DEVICE=C:\\DOS\\HIMEM.SYS
DOS=HIGH
DEVICE=C:\\DOS\\EMM386.EXE
FILES=30
BUFFERS=15 CTRL+Z存盘
COFIG.SYS文件配置命令次序
磁盘有关的设备驱动程序;
内存储器有关的驱动程序;
其它硬件的设备驱动程序;如鼠标
软件有关的设备驱动程序;
其它配置命令
append|debug|diskcomp   
append    设置非执行文件的路径 
[适用场合]  当您无法在多个目录中寻找到自己输入的文稿时,可以试一试这个命令,用法类似path。 
[用  法]  append [路径];[路径] 
[例  子]  C:\\>append c:\\test 
设置寻找非可执行文件路径为c:\\test如果该目录下有文件1.txt时,
在其它目录下调用1.txt找不到时,可自动寻找到c:\\test目录。 
D:\\UCDOS>edit 1.txt 可找到C:\\test\\1.txt文件 
debug     程序调试命令 
[建  议]  如果你学过汇编语言,那你应该会使用debug,如果没学过,最好别使用 
[用  法]  debug [文件名] 
diskcomp   比较磁盘 
[适用场合]  比较两张盘是否相同,没想到什么时候会用到,在比较用diskcopy拷贝的两张盘,为什么不用diskcopy/v校验呢? 
[用  法]  diskcomp [盘符1] [盘符2] 比较盘1和盘2 
 diskcomp /1 只比较磁盘的第一面 
diskcomp /8 只比较没磁道的前8个扇区 
[例  子]  C:\\>diskcomp a: a: 
        在同一软驱中比较两张盘 
Insert FIRST diskette in drive A: 
        放入第一张盘 
Press any key to continue . . . 
        Comparing 80 tracks 18 sectors per track, 2 side(s)   
        Insert SECOND diskette in drive A: 
        放入第二张盘 
Press any key to continue . . . Compare OK 
        比较未发现不同
        Compare another diskette (Y/N) ?n 
        是否比较其它盘,选y继续比较,选n停止 
用CONFIG.SYS做系统配置  
根据以前的介绍,大家都知道可以在config.sys中可以对系统进行配置,下面我们先学一学基本命令,在第五节将详细介绍一个多种系统配置的例子。 
files=[数字] 表示可同时打开的文件数,一般可选择20到50,如果要拷贝或解压缩大批的小文件(在安装台湾的一些游戏时经常会遇到这种情况,文件数可能有几千),可以把 files的值设为上限值255,这样可以提高拷贝或解压缩的速度。但是要注意,如果把files的值设得过大会占用过多的基本内存。如果不加设定,系统缺省为files=8,该缺省值足以满足多数操作环境的需要。
有的系统配置文件里可能会出现FCBS=[数字]这条语句,它也是用于确定DOS可同时打开的文件最大数,它与files=[数字]的区别在于打开文件的方式不同。一些旧的应用程序会要求用FCB方式打开多个文件,这样,在config.sys里就要使用FCBS命令。
buffers=[数字] 表示设置磁盘缓冲区的数目,通常设置为20-30左右。缺省值一般为15。
磁盘缓冲区是一块内存区,它用于存储从磁盘读入的数据或存储写到磁盘的数据。DOS在读或写一个记录时,先检查包含那个记录的数据块是否已在磁盘缓冲区中,如果不在,就从磁盘上将该数据块读入到磁盘缓冲区中,再将此记录传送给应用程序;如果数据已在磁盘缓冲区中,则不必从磁盘上读入,而是直接把数据传送给应用程序。由于从磁盘上读取数据是相对耗时较多的操作,所以增加磁盘缓冲区可以节省很多读盘的时间。但是要注意,增加磁盘缓冲区是要占用内存的,所以,磁盘缓冲区的数值并不是设得越大越好,最佳的磁盘缓冲区数目要根据用户的机器配1置和通常运行的程序类型来确定。 
device和devicehigh 加载一些内存驻留程序,用于管理设备。比如内存管理程序和光驱驱动程序等。 如: device=c:\\dos\\himem.sys device=c:\\dos\\emm386.exe ram devicehigh=c:\\cdrom\\cdrom.sys
devicehigh 与device的不同是前者将程序加载入高端内存。 
himem.sys和emm386.exe DOS只能直接使用640K的内存,即基本内存,必须依靠其它内存管理程序来使用更多的内存,这两条命令就是最常用的内存管理程序。 
640K到1M之间的内存叫高端内存,是系统保留使用的;1M以上的内存叫扩展内存;在早期还有一种内存,是要在主机内安装一块内存板的,叫扩充内存,现在已经很少使用。 
himem.sys负责管理扩展内存。 
emm386.exe负责管理高端内存并在扩展内存中模拟扩充内存供某些软件使用。 
为了使用更多的内存,配置文件中应有: device=c:\\dos\\himem.sys device=c:\\dos\\emm386.exe ram 
注意:EMM386.exe要求先安装himem.sys,因而必须确保安装himem.sys的配置命令在emm386.exe之前。 
dos=high,umb 这两个参数也可以分开写成两条语句,即: dos=high
dos=umb 
应在config.sys中加入这条命令,这样会将DOS的系统文件移入高端内存,空出更多的基本内存给其它软件使用。 注意,如果用户没有安装emm386.exe,umb这个参数是没有实际意义的。
lastdriver lastdriver规定用户可以访问的最大驱动器符数目,也就是DOS所能识别的最后的驱动器符(字母)。如果设定的驱动器符数目小于本机上的实际驱动器数,则此lastdriver命令会被忽略掉。缺省的最大驱动器符数目为本机的实际驱动器数目加一。 
rem 它和批处理文件中的rem含义相同,即注释。 
一个典型的config.sys文件内容如下: 
DEVICE=C:\\DOS\\HIMEM.SYS 
DEVICE=C:\\DOS\\EMM386.EXE NOEMS 
buffers=15,0 
files=50 
dos=UMB 
lastdrive=Z 
dos=HIGH 
DEVICEHIGH=C:\\DOS\\ATAPI_CD.SYS /D:MSCD000 /I:0 
STACKS=9,256 

setver|share|subst   
setver     设置版本 
[适用场合]  当希望使用其它版本的dos命令时可以用它来欺骗电脑。在高版本DOS中,某些旧版本程序需要DOS3.3时,可用setver来设置 
[用  法]  使用时一般在config.sys中加入 device=setver.exe 
setver          显示文件的版本 
setver [文件名] n.nn   设置指定文件的版本号 
[例  子]  C:\\DOS>setver 
        KERNEL.EXE 5.00 
        DOSOAD.SYS 5.00 
        EDLIN.EXE 5.00 
        BACKUP.EXE 5.00 
        ASSIGN.COM 5.00 
        EXE2BIN.EXE 5.00 
        JOIN.EXE 5.00 
        RECOVER.EXE 5.00 
        WINWORD.EXE 4.10 
        C:\\> 
若程序AAA.exe必须在MS-DOS3.3下执行,则键入 
C:\\DOS>setver aaa.exe 3.30 
又如net5.exe仅在MS-DOS5.0下执行,则在config.sys中加入   
device=setver.exe后也可在Ms-DOS6.22下运行。 
share    文件共享 
[建  议]  只有在软件声明必须要运行它时才用 
[用  法]  可在config.sys中加入 install=share.exe 也可直接运行参数有 f l 
subst    路径替换 
[建  议]  一个非常有趣的命令,如果经常用光碟软件,可能有用。 
[用  法]  subst           显示当前的替代路径 
subst [盘符] [路径]                    
        将指定的路径替代盘符,该路径将作为驱动器使用 
subst /b         解除替代 
[例  子]  C:\\DOS>subst a: c:\\temp 用c盘temp目录替代a盘 
C:\\>subst a: /d     解除替代 
tree|unformat|vsafe   
tree     显示命令树结构 
[适用场合]  查看所有的子目录 
[用  法]  tree [盘符]    显示所有的子目录树 
tree /f      显示目录时同时显示文件名 
tree /a      以ASCII码显示目录树 
[例  子]  C:\\WINDOWS>tree /a 
unformat   恢复已被格式化的磁盘 
[建  议]  你把有重要信息的软盘格式化了?快用unformat……什么?你用了  format /u,那死定了 
[用  法]  unformat [盘符]    恢复指定的被格式化的磁盘 
unformat /l      显示unformat所找到的文件名 
[例  子]  C:\\WINDOWS>unformat a: 
vsafe    病毒防护程序 
[建  议]  把它装入内存可以随时检测出许多种病毒,是比较有用的。 
[用  法]  vsafe        加载vsafe在内存中 
vsafe /u       从内存中去除vsafe 
vsafe/ne       将vsafe装入扩充内存 
vsafe/nx       将vsafe装入扩展内存 
参数还有 Ax Cx n d 
[例  子]  C:\\>vsafe 
ctty    改变控制设备 
[建  议]  用来改变控制的输入输出设备,可以试试这条命令,不过恐怕不会有什么作用,是DOS中最没用的命令之一 
[用  法]  ctty [设备名]    设置控制台 
[例  子]  C:\\>ctty aux    设置aux为输入输出设备。
慎用命令     
del *.*    删除当前目录所有文件 
[建  议]  在C盘根目录使用del *.*会使电脑找不到鼠标、光驱、不能使用  
        windows,甚至不能启动。 事实上在任何目录中使用这条命令,都需
        要好好考虑。 
deltree *.*   删除当前目录下所有目录与文件 
[建  议]  在C盘根目录中使用这条命令,那你必须要保证你的头脑是清醒的,
        而且你保证这样做是有必要的,但我们认为在任何情况下都不应该这
        样使用这条命令。 在任何目录下使用deltree *.*都会产生与   
        del *.*一样甚至更坏的结果。慎之!慎之! 
format c:/u   格式化C盘 
[建  议]  除非你的硬盘被病毒感染得很深,或者有一个真正电脑专家告诉你应
        该这样做,否则不要将C盘格式化,它会使你丢失一切信息,还需要
        花几个小时来重新安装所有的软件。 
 fdisk    硬盘分区 
[建  议]  硬盘分区时,一定要让一个曾经使用过这条命令的人来帮助你使用,
        否则你将失去所有信息,甚至连硬盘都不能使用了。 
recover   覆盖磁盘 
[建  议]  在DOS 6以后就不再有这条命令了,如果你使用的是老版本的DOS,劝
        你在任何时候都不要使用它,它除了将你的硬盘所有的信息破坏掉就
        没有其它作用了。



DOS下常用网络相关命令解释 
Arp
显示和修改“地址解析协议”(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表。该命令只有在安装了 TCP/IP 协议之后才可用。
arp -a [inet_addr] [-N [if_addr]] 
arp -d inet_addr [if_addr] 
arp -s inet_addr ether_addr [if_addr] 
参数 
-a 
通过询问 TCP/IP 显示当前 ARP 项。如果指定了 inet_addr,则只显示指定计算机的 IP 和物理地址。 
-g 
与 -a 相同。 
inet_addr 
以加点的十进制标记指定 IP 地址。 
-N 
显示由 if_addr 指定的网络界面 ARP 项。 
if_addr 
指定需要修改其地址转换表接口的 IP 地址(如果有的话)。如果不存在,将使用第一个可适用的接口。 
-d 
删除由 inet_addr 指定的项。 
-s 
在 ARP 缓存中添加项,将 IP 地址 inet_addr 和物理地址 ether_addr 关联。物理地址由以连字符分隔的 6 个十六进制字节给定。使用带点的十进制标记指定 IP 地址。项是永久性的,即在超时到期后项自动从缓存删除。 
ether_addr 
指定物理地址。 
Finger
在运行 Finger 服务的指定系统上显示有关用户的信息。根据远程系统输出不同的变量。该命令只有在安装了 TCP/IP 协议之后才可用。 
finger [-l] [user]@computer[...] 
参数 
-l 
以长列表格式显示信息。 
user 
指定要获得相关信息的用户。省略用户参数以显示指定计算机上所有用户的信息: 
@computer 
Ftp
将文件传送到正在运行 FTP 服务的远程计算机或从正在运行 FTP 服务的远程计算机传送文件(有时称作 daemon)。Ftp 可以交互使用。单击“相关主题”列表中的“ftp 命令”以获得可用的“ftp”子命令描述。该命令只有在安装了 TCP/IP 协议之后才可用。Ftp 是一种服务,一旦启动,将创建在其中可以使用 ftp 命令的子环境,通过键入 quit 子命令可以从子环境返回到 Windows 2000 命令提示符。当 ftp 子环境运行时,它由 ftp 命令提示符代表。 
ftp [-v] [-n] [-i] [-d] [-g] [-s:filename] [-a] [-w:windowsize] [computer] 
参数 
-v 
禁止显示远程服务器响应。 
-n 
禁止自动登录到初始连接。 
-i 
多个文件传送时关闭交互提示。 
-d 
启用调试、显示在客户端和服务器之间传递的所有 ftp 命令。 
-g 
禁用文件名组,它允许在本地文件和路径名中使用通配符字符(* 和 ?)。(请参阅联机“命令参考”中的 glob 命令。) 
-s: filename 
指定包含 ftp 命令的文本文件;当 ftp 启动后,这些命令将自动运行。该参数中不允许有空格。使用该开关而不是重定向 (> )。 
-a 
在捆绑数据连接时使用任何本地接口。 
-w:windowsize 
替代默认大小为 4096 的传送缓冲区。 
computer 
指定要连接到远程计算机的计算机名或 IP 地址。如果指定,计算机必须是行的最后一个参数。 
Nbtstat
该诊断命令使用 NBT(TCP/IP 上的 NetBIOS)显示协议统计和当前 TCP/IP 连接。该命令只有在安装了 TCP/IP 协议之后才可用。 
nbtstat [-a remotename] [-A IP address] [-c] [-n] [-R] [-r] [-S] [-s] [interval] 
参数 
-a remotename 
使用远程计算机的名称列出其名称表。 
-A IP address 
使用远程计算机的 IP 地址并列出名称表。 
-c 
给定每个名称的 IP 地址并列出 NetBIOS 名称缓存的内容。 
-n 
列出本地 NetBIOS 名称。“已注册”表明该名称已被广播 (Bnode) 或者 WINS(其他节点类型)注册。 
-R 
清除 NetBIOS 名称缓存中的所有名称后,重新装入 Lmhosts 文件。 
-r 
列出 Windows 网络名称解析的名称解析统计。在配置使用 WINS 的 Windows 2000 计算机上,此选项返回要通过广播或 WINS 来解析和注册的名称数。 
-S 
显示客户端和服务器会话,只通过 IP 地址列出远程计算机。 
-s 
显示客户端和服务器会话。尝试将远程计算机 IP 地址转换成使用主机文件的名称。 
interval 
重新显示选中的统计,在每个显示之间暂停 interval 秒。按 CTRL+C 停止重新显示统计信息。如果省略该参数,nbtstat 打印一次当前的配置信息。 
Netstat
显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。 
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval] 
参数 
-a 
显示所有连接和侦听端口。服务器连接通常不显示。 
-e 
显示以太网统计。该参数可以与 -s 选项结合使用。 
-n 
以数字格式显示地址和端口号(而不是尝试查找名称)。 
-s 
显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。 
-p protocol 
显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。 
-r 
显示路由表的内容。 
interval 
重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。 
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 
参数 
-t 
Ping 指定的计算机直到中断。 
-a 
将地址解析为计算机名。 
-n count 
发送 count 指定的 ECHO 数据包数。默认值为 4。 
-l length 
发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是 65,527。 
-f 
在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段。 
-i ttl 
将“生存时间”字段设置为 ttl 指定的值。 
-v tos 
将“服务类型”字段设置为 tos 指定的值。 
-r count 
在“记录路由”字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。 
-s count 
指定 count 指定的跃点数的时间戳。 
-j computer-list 
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。 
-k computer-list 
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。 
-w timeout 
指定超时间隔,单位为毫秒。 
destination-list 
指定要 ping 的远程计算机。 
Rcp
在 Windows 2000 计算机和运行远程外壳端口监控程序 rshd 的系统之间复制文件。rcp 命令是一个连接命令,从 Windows 2000 计算机发出该命令时,也可以用于其他传输在两台运行 rshd 的计算机之间复制文件。rshd 端口监控程序可以在 UNIX 计算机上使用,而在 Windows 2000 上不能使用,所以 Windows 2000 计算机仅可以作为发出命令的系统参与。远程计算机必须也通过运行 rshd 提供 rcp 实用程序。 
rcp [-a | -b] [-h] [-r] source1 source2 ... sourceN destination 
参数 
-a 
指定 ASCII 传输模式。此模式在传出文件上将回车/换行符转换为回车符,在传入文件中将换行符转换为回车/换行符。该模式为默认的传输模式。 
-b 
指定二进制图像传输模式。没有执行回车/换行符转换。 
-h 
传输 Windows 2000 计算机上标记为隐藏属性的源文件。如果没有该选项,在 rcp 命令行上指定隐藏文件的效果与文件不存在一样。 
-r 
将源的所有子目录内容递归复制到目标。source 和 destination 都必须是目录,虽然即使源不是目录,使用 -r 也能够工作。但将没有递归。 
source 和 destination 
格式必须为 [computer[.user]:]filename。如果忽略了 [computer[.user]:] 部分,计算机将假定为本地计算机。如果省略了 [.user] 部分,将使用当前登录的 Windows 2000 用户名。如果使用了完全合格的计算机名,其中包含句点 (.) 分隔符,则必须包含 [.user]。否则,计算机名的最后部分将解释为用户名。如果指定了多个源文件,则 destination 必须是目录。 
如果文件名不是以 UNIX 的正斜杠 (/) 或 Windows 2000 系统的反斜杠 (\\) 打头,则假定相对于当前的工作目录。在 Windows 2000 中,这是发出命令的目录。在远程系统中,这是远程用户的登录目录。句点 (.) 表示当前的目录。在远程路径中使用转义字符(\\、\" 或 \'),以便在远程计算机中使用通配符。 
Rexec
在运行 REXEC 服务的远程计算机上运行命令。rexec 命令在执行指定命令前,验证远程计算机上的用户名,只有安装了 TCP/IP 协议后才可以使用该命令。 
rexec computer [-l username] [-n] command 
参数 
computer 
指定要运行 command 的远程计算机。 
-l username 
指定远程计算机上的用户名。 
-n 
将 rexec 的输入重定向到 NULL。 
command 
指定要运行的命令。 
Route
控制网络路由表。该命令只有在安装了 TCP/IP 协议后才可以使用。 
route [-f] [-p] [command [destination] [mask subnetmask] [gateway] [metric costmetric]] 
参数 
-f 
清除所有网关入口的路由表。如果该参数与某个命令组合使用,路由表将在运行命令前清除。 
-p 
该参数与 add 命令一起使用时,将使路由在系统引导程序之间持久存在。默认情况下,系统重新启动时不保留路由。与 print 命令一起使用时,显示已注册的持久路由列表。忽略其他所有总是影响相应持久路由的命令。 
command 
指定下列的一个命令。 
命令 目的
print 打印路由
add 添加路由
delete 删除路由
change 更改现存路由 
destination 
指定发送 command 的计算机。 
mask subnetmask 
指定与该路由条目关联的子网掩码。如果没有指定,将使用 255.255.255.255。 
gateway 
指定网关。 
名为 Networks 的网络数据库文件和名为 Hosts 的计算机名数据库文件中均引用全部 destination 或 gateway 使用的符号名称。如果命令是 print 或 delete,目标和网关还可以使用通配符,也可以省略网关参数。 
metric costmetric 
指派整数跃点数(从 1 到 9999)在计算最快速、最可靠和(或)最便宜的路由时使用。 
Rsh
在运行 RSH 服务的远程计算机上运行命令。该命令只有在安装了 TCP/IP 协议后才可以使用。 
rsh computer [-l username] [-n] command 
参数 
computer 
指定运行 command 的远程计算机。 
-l username 
指定远程计算机上使用的用户名。如果省略,则使用登录的用户名。 
-n 
将 rsh 的输入重定向到 NULL。 
command 
指定要运行的命令。 
Tftp
将文件传输到正在运行 TFTP 服务的远程计算机或从正在运行 TFTP 服务的远程计算机传输文件。该命令只有在安装了 TCP/IP 协议后才可以使用。 
tftp [-i] computer [get | put] source [destination] 
参数 
-i 
指定二进制图像传送模式(也称为“八位字节”)。在二进制图像模式中,文件一个字节接一个字节地逐字移动。在传送二进制文件时使用该模式。 
如果省略了 -i,文件将以 ASCII 模式传送。这是默认的传送模式。此模式将 EOL 字符转换为 UNIX 的回车符和个人计算机的回车符/换行符。在传送文本文件时应使用此模式。如果文件传送成功,将显示数据传输率。 
computer 
指定本地或远程计算机。 
put 
将本地计算机上的文件 destination 传送到远程计算机上的文件 source。 
get 
将远程计算机上的文件 destination 传送到本地计算机上的文件 source。 
如果将本地计算机上的文件 file-two 传送到远程计算机上的文件 file-one,请指定 put。如果将远程计算机上的文件 file-two 传送到远程计算机上的文件 file-one,请指定 get。 
因为 tftp 协议不支持用户身份验证,所以用户必须登录,并且文件在远程计算机上必须可以写入。 
source 
指定要传送的文件。如果本地文件指定为 -,则远程文件在 stdout 上打印出来(如果获取),或从 stdin(如果放置)读取。 
destination 
指定将文件传送到的位置。如果省略了 destination,将假定与 source 同名。 
Tracert
该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP) 回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。 
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name 
参数 
/d 
指定不将地址解析为计算机名。 
-h maximum_hops 
指定搜索目标的最大跃点数。 
-j computer-list 
指定沿 computer-list 的稀疏源路由。 
-w timeout 
每次应答等待 timeout 指定的微秒数。 
target_name 
目标计算机的名称。
interlnk|intersvr|qbasic   
interlnk   启动简易网客户机 
[适用场合]  如果有两台电脑可以通过它和intersvr联成简易的网络,这是条很有用的命令,但不常用 
[用  法]   DOS新增支持网络的功能, 
        它可以使两台电脑通过并口线或串口线相联组成简易的网络 
        使用interlnk 必须在config.sys中增添一句: 
        device=c:\\dos\\interlnk 
        并口线的两头都应是25针公接头,针之间的连接如下图:对应 
        p2------------------------p15 
        p3------------------------p13 
        p4------------------------p12 
        p5------------------------p10 公接头指接头为带针的 
        p6------------------------p11 母接头指接头为带孔的 
        p15-----------------------p2 
        p13-----------------------p3 
        p12-----------------------p4 
        p10-----------------------p5 
        p11-----------------------p6 
        p25-----------------------p25 地线 
[例  子]  C:\\DOS\\>interlnk Port-LPT1 
this Computer    Other Computer 
(Client)       (Server) 
---------------------------------------- 
E:   equals   A: 
F:   equals   C: 
在客户机中E盘即为服务机的A盘,F盘为服务机的C盘 
intersvr   启动简易网服务器 
适用场合]  使用它,电脑就成了服务器了(只限与DOS提供的简易网) 
[用  法]  intersvr       启动服务机 
intersvr /lpt:1   启动服务机,用lpt1口作为数据传输口 
intersvr /com:1   启动服务机,用com1口作为数据传输口 
参数还有 x baud: b v rcopy (参见interlnk) 
[例  子]  C:\\DOS>intersvr 
qbasic   启动Basic集成环境 
[建  议]  也许对于大多数人是永远不会用到它的 
[用  法]  如果会qbasic语言,那么可以利用它编写自己的程序。edit.com必须
        有它才可用。 
qbasic     起动basic语言环境 
qbasic/editor 以全屏方式编辑语言 
参数还有: b g h mbf nohi run 
[例  子]  C:\\DOS>qbasic 

DOS下如何连接两台电脑
在WINDOWS下连接两台电脑并不希奇,即使是一般水平的DIY者都可以轻易搞定. 可是在DOS下呢?能连接吗?
当然可以。用DOS6.22下自带的INTERLNK程序即可通过并口连接两台电脑。 
首先你要在作为主机的电脑的config.sys文件中加入INTERLNK.EXE设备驱动程序。 
语法: INTERLNK [client[:]=[server][:]] 
client 指定重定向到lnterlnk服务器上驱动器的客户驱动器字母。此驱动器必须是启动 lnterlnk时重定向的驱动器。 
server 指定lnterlnk服务器上被重定向的驱动器字母。此驱动器必须列在Interlnk服务器屏幕This Computer(Server)栏中。
然后在作为“服务器”的电脑上启动 INTERSVR 程序,启动Interlnk服务器。 
语法:INTERSVR [drive:[...]] [/X=drive:[...]] [/LPT:[n|address]] [/COM:[n|address]] [/BAUD:rate] [/B] [/V] /LPT:[n|address] 。即可实现双机互连。
此外也可以使用PCTOOLS工具包中的DISKMAP工具,功能更强大,使用更方便。

DOS环境下玩转Windows注册表 
注册表编辑器不仅可以在Windows下运行使用,还可以在MS-DOS实模式下运行。有时注册表受到损坏而无法启动Windows时,我们就只有在DOS模式下修复或修改注册表了。注册表的实际物理文件为System.dat和User.dat,也就说注册表中的数据保存在这两个文件中。 
导出注册表 
此命令可以实现对注册表文件进行备份。 
命令格式:Regedit /L:system /R:user /E filename.reg Regpath 
参数含义: 
/L:system指定System.dat文件所在的路径。 
/R:user指定User.dat文件所在的路径。 
/E:此参数指定注册表编辑器要进行导出注册表操作,在此参数后面空一格,输入导出注册表的文件名。 
Regpath:用来指定要导出哪个注册表的分支,如果不指定,则将导出全部注册表分支。 
如果打算将保存在C:\Windows\System.dat和保存在C:\Windows\Profiles\User.dat中所有HKEY_CLASSER_ROOT根键下的分支导出到file.reg中,可以执行如下命令:Regedit /L:C:\Windows\ /R:C:\Windows\Profiles\ /e file1.reg HKEY_CLASSER_ROOT 
导入注册表 
命令格式:Regedit /L:system /R:user file.reg 
参数含义: 
/L:system指定System.dat文件所在的路径。 
/R:user指定User.dat文件所在的路径。 
重建注册表 
重建注册表,即重新建立System.dat和User.dat文件。 
命令格式:Regedit /L:system /R:user /C file.reg 
参数含义: 
/L:system指定System.dat文件所在的路径。 
/R:user指定User.dat文件所在的路径。 
/C:此参数将告诉注册表编辑器,用所指定的.reg文件中的内容重新建立注册表。 
如果要用file.reg文件中的内容重新建立整个注册表,并将其保存到C:\Windows\System.dat和C:\Windows\Profiles\User.dat中,可执行命令:Regedit /L:C:\Windows\ /R:C:\Windows\Profiles\ /C file1.reg 
删除注册表分支 
此命令可以将注册表中的一个子键分支删除。 
命令格式为:Regedit /L:system /R:user /C Regpath 
参数含义: 
/L:system指定System.dat文件所在的路径。 
/R:user指定User.dat文件所在的路径。 
/C:此参数告诉注册表编辑器,将Regpath所指定的注册表子键分支删除。 
恢复注册表 
Scanreg.exe可以检查、备份、恢复、修复注册表,此命令存放在“Windows\Command”目录下。 
命令格式:Scanreg [/< option >] 
参数含义: 
/backup参数是备份注册表和相关的配置文件,这些文件分别\windows目录下的System.dat、User.dat、Win.ini、System.ini四个文件,把这些文件压缩成rb——?.cab一个文件,存放在\windows\sysbckup目录下,多次使用此命令会产生多个CAB文件,一般从000开始,系统默认最大备份数为5个。可在\Windows\scanreg.ini文件中对最大备份数进行修改,通过修改“maxbackupcopies=?”的数值即可。 
/restore参数是选择一个备份进行恢复注册表,此命令不能在Windows 98环境下执行,必须关机后,重新启动进入纯DOS方式下运行。 
/fix参数是修复损坏的注册表,此命令也只能在DOS方式下运行。 
/comment=\"< comment >\"参数是在备份注册表时增加一些详细的注释到CAB文件中。 
恢复遭到破坏的注册表文件,可以使用Scanreg命令进行修复,方法是,首先进入DOS系统操作环境,然后执行以下命令:Scanreg/Restore 
此时系统会提示注册表备份情况,包括CAB文件名及备份时间等,用户可以选择要恢复的CAB文件进行恢复。 
如果要查看所有的备份文件及同备份有关的部分,可以执行命令:Scanreg /restore /comment 
如果注册表有问题,可以使用Scanreg来修复,命令为:Scanreg /fix。
补充:
//帮助信息,使用的时候删除前面的\"//\"符号就可以了,最好先本机测试通过.
//regedit.exe -e reg1.txt HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
//regedit.exe -e reg2.dll \"HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp\"
//上面导出注册表内容
//regedit.exe -s reg2.dll
//上面导入注册表内容,没有提示信息.reg1.dll必须是合法格式.
//____________________________________________________________
////Win98注册表文件头格式
//REGEDIT4
//
////win2000/xp/nt注册表文件头格式(空一行)
//__________________________________________________________
//Windows Registry Editor Version 5.00 
//
//[HKEY_LOCAL_MACHINE\\SOFTWARE\\Test4Adam]
//\"Test1\"=\"Adam\"
//\"Test2\"=hex:61
//\"Test3\"=dword:00000064
//Test1的类型是\"String value\"
//Test2的类型是\"Binary value\"
//Test3的类型是\"DWORD value\"

//删除一个项目名称
//[HKEY_LOCAL_MACHINE\\SOFTWARE\\Test4Adam]
//\"Test1\"=-

//删除一个子项
//[-HKEY_LOCAL_MACHINE\\SOFTWARE\\Test4Adam]

//reg.exe query \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\WinStations\\RDP-Tcp\\PortNumber\"
//reg.exe query \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\Wds\\rdpwd\\Tds\\tcp\\PortNumber\"
//由于后面参数有空格。所以必须使用双引号

//下面这个是win2000kit里面的工具
//E:\\SCANREG.EXE 1.05 <[-s] string> < [-k] [-v] [-d] > [[-r] key] [-c] [-e] [-n]
//Examples: SCANREG -s Windows -k -v -d
// SCANREG -s Windows -kvd
// SCANREG /s Windows /r \\lm\\software /kvde
// SCANREG Windows \\lm -kd -n
// SCANREG Windows \\\\MOON\\HKEY_LOC