我爱电脑技术论坛's Archiver

fst10 发表于 2008-6-28 09:07

[转贴]什么是DOS,DOS的重要性,以及DOS命令全部解析

[b]首先:我们认识一下什么是DOS![/b]
/l;Lh.JNe ~ 一、什么是DOS?*aU#GF,l.| k8M)H6NT
(一)DOS是什么?有什么用?,jlH {-Dd"h
我们使用电脑接触最频繁的就是DOS。DOS是英文Disk Operating System的缩写,意思是“磁盘操作系统”,顾名思义,DOS主要是一种面向磁盘的系统软件,说得简单些,DOS就是人与机器的一座桥梁,是罩在机器硬件外面的一层“外壳”,有了DOS,我们就不必去深入了解机器的硬件结构,也不必与死记硬背那些枯燥的机器命令,只需通过一些接近于自然语言的DOS命令,我们就可以轻松地完成绝大多数的日常操作。另外,DOS还能有效地管理各种软硬件资源,对它们进行合理的调度,所有的软件和硬件都在DOS的监控和管理之下,有条不紊地进行着自己的工作。#\Xq%x$~/XM)z'm
(二)MS-DOS与PC-DOSMA*X @0O-{b
在使用DOS时,我们还会经常听到MS-DOS和PC-DOS,对初学者来说,可以认为二者没有大的区别。事实上,MS-DOS由世界软件大王--Microsoft(微软公司)出品,而PC-DOS则由世界电脑大王 --IBM(国际商务机器公司)对MS-DOS略加改动而推出。由于微软在世界软件业的垄断性优势,所以其产品MS-DOS已成为主流操作系统,至于PC -DOS,虽然在功能上不见得逊于MS-DOS,无奈MS-DOS先入为主,PC-DOS纵然使出浑身解数,却也始终不能动摇MS-DOS分毫。6a$F&Kf/f$O^v _
(三)DOS的版本E^WT2x
DOS 在1981年推出其1.0版,功能还非常基本和薄弱;1983年推出2.0,主要增加了目录操作功能,使文件管理上了一个新台阶(目录和文件的概念我们将在讲解DOS内部命令时介绍);1984年推出3.0,主要支持1.2MB的5.25英寸高密软盘(1.X和2.X只支持低密盘)和大容量硬盘;1987 推出目前普及率最高的DOS 3.3,主要支持3.5英寸软盘和网络。至此,DOS已经发展的相当成熟,尽管后续版本(目前PC-DOS的最新版本为7.0版,MS-DOS公布的最新版本为6.22)不断推出,但均无重大的内核改进,只不过增加了许多实用功能,如检测磁盘,清除病毒,硬盘增容等。9p ]#Ui9e4cz,J
(四)学好DOS的意义
#qV9l} n#g v;ti 可以说,DOS 3.3是个非常重要的划时代版本,认真学好3.3,一方面可以增强实际操作能力,另一方面也为更好、更快地过渡到新版本打下坚实的基础。因此,本文主要以MS-DOS 3.3为主讲解,适当提及新版本中功能增强的部分。RKD/vF9Q~W$dg1?
尽管目前Windows如日中天,大有取代DOS的趋势,而且DOS的生产商微软也停止了MS-DOS的进一步开发,而全面向Windows一体化的方向发展。但是,DOS仍不可否认地是当前的主流操作系统(特别是在我国)。
TQ/[,_$aHeM 本节重点内容回顾:DOS的作用,MS-DOS与PC-DOS,DOS的版本,学好DOS的重要性认清了学习DOS的重要性,下面,我们就来正式开始学习DOS,先从最基本的DOS启动讲起。
,Cov/IAsvs _ 二、DOS的启动
4\!Hg"g2gqN(m(N ·预备知识·Eve a s1JBS!J
1、什么是文件?
v${p"F#p6G#r 我们把存放在磁盘或光盘上的有完整意义的一部分数据就称为文件。数据的意义是广泛的,我们编写的程序、拷贝的软件、制作的图象等,都可以称之为数据,而数据则是以文件的形式储存在磁盘上的。对于文件,我们可以进行建立、修改、删除、复制、移动等多种操作。%P*z6ITL8I:frv
有了文件自然要加以管理,给文件起名字是最好的方法。每个文件都有一个名字,称为文件名,它由字母、数字或字符组成,如COMMAND.COM。文件名又可分割为主文件名和扩展文件名,就拿COMMAND.COM为例,COMMAND就是主文件名,它主要说明文件的内容,COM为扩展文件名,它主要说明文件的性质(在这里COM表示命令文件),中间的小数点为主文件名和扩展文件名的分隔符。DOS规定主文件名不能超过8个字符,扩展文件名不能超过3个字符。由于小数点专用作分隔符,所以主文件名和扩展文件名中不能使用小数点。另外,在文件名中也不允许使用空格。扩展文件名是可以省略的,但主文件名一定要有。所以,以下文件名都是错误的,如.EXE(无主文件名),ABC.BCD.COM(主文件名中含有小数点),ABC.DEFG(扩展文件名超过3个字符)。
oq!J!DJ{2I Y3` 在DOS中,规定了三种扩展名为可执行文件,即EXE、COM和BAT。所谓可执行文件,就是在DOS下直接键入主文件名就可以执行程序的文件。除EXE、COM和BAT之外,其他所有文件都不能在DOS下直接执行,称为非执行文件。d8HxC+L6J#|c;S
·预备知识·
uJ"MQ)aulcDQY} 2、DOS的构成
b\ a@[c DOS 主要由三个基本文件和一些外部命令构成,外部命令的概念我们将在以后介绍,这里主要说明三个基本文件(又称为系统文件)。这三个基本文件是 MSDOS.SYS,IO.SYS和COMMAND.COM(如果是PC-DOS,则为IBMDOS.COM,IBMBIO.COM和 COMMAND.COM)。其中MSDOS.SYS称为DOS内核(可见MSDOS.SYS是个非常重要的文件),它主要是用来管理和启动系统的各个部件,为DOS的引导作好准备工作。IO.SYS(IO为Input&Output的缩写,意即“输入输出”)主要负责系统的基本输入和输出,即 DOS与各部件之间的联系。COMMAND.COM文件(COMMAND是“命令”的意思)是DOS与用户的接口,它主要提供了一些DOS的内部命令,并能接受、判别并执行用户输入的命令。磁盘是否具有启动DOS的能力,就看是否具有这三个文件,具有这三个文件的磁盘,就称作引导盘。而除此之外还包含许多 DOS外部命令的磁盘则称为系统盘。
4h)N7HmAP 最后要注意的是,MSDOS.SYS和IO.SYS两个文件的存储位置是有限制的,它们必须位于磁盘物理位置的最前面,否则将失去引导能力。3r(l(~;s4MP9Q
(一)什么是DOS的启动_ g1F6|-J9VpH
我们每次使用电脑,都必须启动DOS,(又称为引导),否则我们就无法操作电脑。我们打开电脑电源后,电脑首先进行自检,然后,如果是从软盘启动,软驱在嗡嗡作响十几秒后,就会出现A>或A:\>;如果从硬盘启动,那速度要快得多,很快就会出现C>或C:\>。A>、A:\ >、C>、C:\>称为DOS提示符(DOS提示符并不是一成不变的,有关DOS提示符的改变,我们将在讲解内部命令PROMPT时详细介绍),它的出现表明DOS已经顺利地完成了引导过程,各种软硬件资源已在监控之下,用户可以开始输入命令了。-e7wA:C6[z
(二)启动前的准备工作
;C[R*j#h w8E-[$g 既然启动的是DOS,当然磁盘要具有引导的能力(即具有三个系统文件)。如果要从软盘启动,就要有一张DOS引导盘或系统盘,并插入软驱(一定要插入A驱,不同的电脑A驱的位置可能有所不同,事先必须弄清楚),作好启动准备。如果要从硬盘启动,只要使硬盘可以引导就行了。XW w[]4p x!VN
(三)启动的分类
(BZ*^8L9z:`+C DOS 的启动又可分为冷启动和热启动。冷启动是指切断电脑电源后重新开启电源启动的过程。热启动是指在没有切断电源(即开机)的情况下重新启动的过程。冷启动后机器要首先进行硬件的自检(不同的机器可能自检时间不同,这主要取决于各个部件的配置情况,如内存的多少等),以确定各个部件是否工作正常,如果自检顺利通过,则进入DOS启动状态。热启动则没有机器自检这一过程,这就是二者的主要区别。因此热启动的速度显然要比冷启动快。由于热启动没有切断电脑各部件的电源,因此能有效地延长硬件的寿命,在没有特殊情况(如电脑受到病毒侵袭、某些软件在运行过程中死机并封锁键盘等)的时候,应尽量使用热启动。
7x#[0vJYu vG~aK9t)U@ 冷启动的方法主要是关闭电源,即关机。不过目前绝大多数组装机(或称为兼容机)在机箱上都有一个RESET(意即“重新启动”)按钮,它的主要目的就是简化冷启动,通常在冷启动时应尽量使用RESET钮,它在启动时对机器的冲击比关机(即按POWER钮)小一些,所以有助于延长电脑的使用寿命。要注意,原装机(或称为品牌机),特别是进口机,几乎都没有RESET键(RESET可以说是组装机的“专利”),此时要想冷启动就只有关闭电源了。要注意,如果使用关闭电源的方法进行冷启动,一定要关闭后至少间隔8秒至10秒后再开机,以免由于间隔时间过短损坏部件。
3s-q*b#j o[^W `$J6y 热启动则没有按一下RESET钮那么简单,它需要联合使用键盘上的三个键才能实现,这三个键是:空格两边的Ctrl键和Alt键(使用左右哪一个均可)及键盘右下方的Del键(或是Delete键),一般表示成Ctrl+Alt+Del。
)b$W!WJ)M (四)启动的现象p ?$R~R
系统在引导时,依次将三个系统文件读入,然后在磁盘寻找CONFIG.SYS(配置文件)和AUTOEXEC.BAT(自动批处理文件)两个文件(这两个文件极为重要,本讲座将在后面专门讨论),如果有则执行,如果没有,则提示出当前系统的时间和日期,并要求用户修改,通常我们连续按两下回车键即可(第一下是默认当前系统日期,第二下是默认当前系统时间),此时如果是从软盘启动将出现上面提到的A>或A:\>(如从硬盘上启动则出现C>或 C:\>),我们就可以输入命令了。9Xx5`~ fp
本节重点内容回顾:文件,DOS的构成,启动的分类、准备和现象
Cs h3t}1^
W wn9H/_*|9I z$a DOS命令
cG)A Y\HH6o ·预备知识·
$F Y t?o{3x DOS命令的分类
u&y1^ ~#s6j%RM DOS 命令可分为内部命令和外部命令,内部命令是在DOS启动时由COMMAND.COM文件装入内存的,此后随时都可以使用。内部命令主要实现一些极为常用、且并不复杂的功能,如文件列表、修改时间、文件改名等。外部命令则是以文件的形式存储在磁盘上的,要想使用某外部命令,那么该命令的文件必须得在磁盘上,否则就不能使用该外部命令。外部命令完成的功能往往比内部命令复杂。P6q+pY/S
常见的内部命令包括(以字母为序):CD,CLS,COMP,COPY,DATE,DEL,DIR,MD,PATH,PROMPT,REN,RD,VER等。/I sci8X*I
常见的外部命令包括:APPEND,ATTRIB,BACKUP,CHKDSK,DISKCOMP,DISKCOPY,FDISK,FORMAT,LABEL,RESTORE等。
ZT:i;Uw;@ X 由于DOS版本的不同,外部命令的数目会有所不同,版本越高,外部命令越多,但内部命令一般改动不大。下面所讲的输入命令均是指在DOS提示符下键入命令字母后,按回车键即可执行,命令字母大小写均可。
AE[ab#N (一)常用内部命令DATE,TIME,CLS,VER
6Qq+d~O5g/Bw ·预备知识· xM V` j3l b#u
什么是系统时间?~kl B0ZQ{f
电脑的内部具有一个“钟表”,称为系统时钟,它靠主板(位于机箱最底部的一块大电路板)上的一个充电电池长期供电,每次开机,电脑都会对此电池进行充电,所以即使在电源关闭的情况下,系统时钟仍可以依靠电池供电来准确计时,使得我们每次开机,都能得到准确的时间。系统日期和时间是可以改变的(就象对表一样),主要是用内部命令DATE和TIME来实现
;o}mLL m|"H 1、系统日期、时间显示和修改命令DATE、TIME
'e}Y7d\!{D*g DATE(意即“日期”)和TIME(意即“时间”)是专门用于显示和修改系统时间的内部命令,它们均可以单独使用。Y0pOw"}:k(J1].x
在DOS 提示符下键入TIME后,将先显示出当前系统时间(Current time is ××),然后要求用户输入新的时间(Enter new time:),如果当前系统时间正确,可以直接按回车键不作修改。如果想修改,可以按“时:分:秒.百分之一秒”的格式输入,“时”的范围是从0到23, “分”和“秒”均为0到59,“百分之一秒”为0到99如“12:30:30.59”。分隔符除了冒号外,还可以是点号.、斜杠/和减号-。输入的时间除了小时不能省略外,分、秒和百分之一秒均可省略,省略的值相当于零值,如12:30就相当于12:30:00.00。TIME后也可以直接加上欲修改的时间,这样将用该时间直接代替当前系统时间,屏幕不显示任何信息,如TIME 12:30。在输入时间时要注意,既可以使用24小时制,也可以用a和p来指定上午和下午,如9p就相当于21:00:00.00。
\ s8[kF8Lud,A 在DOS提示符下键入DATE后,将显示出当前系统日期(Current date is ××),然后要求用户输入新的日期(Enter new date:),如果当前系统日期正确,可以直接按回车键不作修改。如果想修改,可以按“月/日/年”的格式输入,“月”的范围是从1到12,“日”是从1 到31,“年”可以简写为年份的后两位数,如1997年可以简写为97,分隔符除了斜杠外,还可以是点号.和减号-。输入的日期中月、日、年均不能省略。此外,DATE后也可以直接加上欲修改的日期,如DATE 7/1/97。A_X:@|"E V
2、清屏命令CLS
R(V%Y h3\4d%y)Y CLS是Clear Screen的缩写,意即“清洁屏幕”。它的作用是清除当前屏幕的全部内容,使DOS提示符和光标回到屏幕左上角。在DOS提示符下键入CLS后,可以使屏幕变得整洁,屏蔽无用的信息。0C]-RLy
·预备知识·
+M5k0Bvs`.c9Y5\+y 什么是版本号?
2xCa@!PL#M 版本号是标识软件(并不一定是DOS)功能的一种标志,通常以数字表示,如DOS 6.22,其中点号前的6称为主版本号,点号后的22称为副版本号。一般而言,版本号的提高体现了软件功能的进步,如果软件功能改进很大,将把主版本号加 1,如果功能改进较小或者只是对老版本错误的修正,将递增副版本号。
fz&P&R#a/H\ 此外要注意,DOS老版本的命令不能在新版本中使用,新版本的命令一般也不能在老版本中使用,否则会提示Incorrect DOS version(不正确的DOS版本)。
DC\wNWGfP/Cn 3、显示DOS版本命令VER}DJ1nG6S'B
VER是Version的缩写,意即“版本”。它的作用是显示当前启动电脑所用DOS的版本号。在DOS下键入VER后,将显示MS-DOS version?

fst10 发表于 2008-6-28 09:08

DOS命令全集
R,]2K+w~
,dx'H^Wf x 一)MD——建立子目录
-L!VRj{SYE1df 1.功能:创建新的子目录
u9fv {-f:{A 2.类型:内部命令^S'[$DA;H[y
3.格式:MD[盘符:][路径名]〈子目录名〉@;l;X1k;wV}
4.使用说明: Zi'p@I%QZNT
(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;
+G.Bb4?]R,s (2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。
H;I)p T^0A_$l#@_] 例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。&T0} _Q,c)x8ckI
C:、>MD FOX (在当前驱动器C盘下创建子目录FOX)^5gy;E1_*g
C:、>MD FOX 、USER (在FOX 子目录下再创建USER子目录)0Sd*poP$Ep.d
(二)CD——改变当前目录K@X L#J
1.功能:显示当前目录
$f&{6i~+AG 2.类型:内部命令&vRoX1Q8g]
3.格式:CD[盘符:][路径名][子目录名]0yE.qU Y$l
4.使用说明:
~5_ u&|$j(kN$[ (1)如果省略路径和子目录名则显示当前目录;
.a dq5Y+u (2)如采用“CD、”格式,则退回到根目录;0hX7A sVo'|/m o3b
(3)如采用“CD.。”格式则退回到上一级目录。
wtD(b!\.i 例:(1)进入到USER子目录;(2)从USER子目录退回到子目录;(3)返回到根目录。
"b-} zTz!x` C:、>CD FOX 、USER(进入FOX子目录下的USER子目录)
k;_.H8|/i,KdF,Eb C:、FOX、USER>CD.。 (退回上一级根目录)%j9kn+[7hd7v c]
C:、FOX>CD、 (返回到根目录)
P2d4[kt:T8Q:^ C:、>.dj{ [ pL/~_ Wu
(三)RD——删除子目录命令+znp"ey![A
1.功能:从指定的磁盘删除了目录。'@4J?b,u6z,Fq _
2.类型:内部命令ou v_}U/au_-Z
3.格式:RD[盘符:][路径名][子目录名](\ Q*U)| t`)z;k
4.使用说明:8QGz |.b6Q$W
(1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身;h%U3gz'_sU
(2)不能删除根目录和当前目录。B!CZ2`&r"x2xd R
例:要求把C盘FOX子目录下的USER子目录删除,操作如下:"m8uy?#HP KV$y7{`
第一步:先将USER子目录下的文件删空;
U0Lu3]u:n C、>DEL C:、FOX、USER、*。*
8L5F4ND*Y.@U"q%Aa 第二步,删除USER子目录。 \1Q*wF!R+aL
C、>RD C:、FOX、USERB K?~p,b
(四)DIR——显示磁盘目录命令Z&ZU k-}4X ~v.dS
1.功能:显示磁盘目录的内容。}0r3q#Gv#y"OCX:C
2.类型:内部命令
$K0c7q.CtKmP^n4K 3.格式:DIR [盘符][路径][/P][/W]D1_-?3gR
4.
/v8RV*Ym.SO%kG6k(N-g 使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停,并提示;Press
hR.v^0M:J:y any key to continue
zC w-av4xw ] /W的使用:加上/W只显示文件名,至于文件大小及建立的日期和时间则都省略。加上参数后,每行可以显示五个文件名。:\z mP_!i

"?6?2OfN^| PATH——路径设置命令F+O5k |Y6y}
1.功能:设备可执行文件的搜索路径,只对文件有效。
z5rgfbo@;R4z 2.类型:内部命令
2l9}([t{h 3.格式:PATH[盘符1]目录[路径名1]{[;盘符2:],〈目录路径名2〉…}q4Hof/fmd"O1JP
4.使用说明:
O8Cz9\pF (1)当运行一个可执行文件时,DOS会先在当前目录中搜索该文件,若找到则运行之;若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件;
[1T@0IltXG F (2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;
0AG.d?Ahwx (3)PATH命令有三种使用方法:_ex7N1GT7Ni
PATH[盘符1:][路径1][盘符2:][路径2]…(设定可执行文件的搜索路径)8Iw%|'`e-|jhG
PATH:(取消所有路径)
/hBo1L4ncf\;y PATH:(显示目前所设的路径) |KMR c|A)U
(六)TREE——显示磁盘目录结构命令
xVz?/?"FM 1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。
)fue!In 2.类型:外部命令 G+r4EJ1Vc}V z
3.格式:TREE[盘符:][/F][》PRN]
9S'DOpqf 4.使用说明:
k8Q(gu:T (1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示目录,不显示目录下的文件;
tO`R v$Q bq(s (2)选用>PRN参数时,则把所列目录及目录中的文件名打印输出。
dAmW9PI)d'F8c (七)DELTREE——删除整个目录命令
'M3aFk0a*Lu 1.功能:将整个目录及其下属子目录和文件删除。
"H0V_j^ ^X1]:` 2.类型:外部命令
b b,|9d'z 3.格式:DELTREE[盘符:]〈路径名〉4Clu7lP K#A
4.使用说明:该命令可以一步就将目录及其下的所有文件、子目录、更下层的子目录一并删除,而且不管文件的属性为隐藏、系统或只读,只要该文件位于删除的目录之下,DELTREE都一视同仁,照删不误。使用时务必小心!!! NS$a Bq p8L
五、磁盘操作类命令
![XA7G'_Nm (一)FORMAT——磁盘格式化命令
$hzxOgfMas 1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。
rQx~5]9c?:n XC 2.类型:外部命令
s-XY0xi!m+} 3.格式:FORMAT〈盘符:〉[/S][/4][/Q][0@$^1} B/U1Ud;y
4.使用说明:
7@%{Q1Th T2k%L V (1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:WARNING:ALL DATA ON NON ——REMOVABLE DISK
2sH1OkJS)Dm%?B%d DRIVE C:WILL BE LOST !
]C5Z?F}PL"r(w Proceed with Format (Y/N)?
7_ u1A^*~^ ?0[x (警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?)qkg8t,{J Ub
(2)若是对软盘进行格式化,则会如下提示:Insert mew diskette for drive A;
IT+R9\\ILG%O4B and press ENTER when ready…j-^"Dai.{0NzH0t
(在A驱中插入新盘,准备好后按回车键)。:M1t5m%e{cpV,QK
(3)选用[/S]参数,将把DOS系统文件IO.SYS
VxeP$HXL#{ 、MSDOS.SYS及COMMAND.COM复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磙盘只能读写信息,而不能做为启动盘;
~ q~x{R4E.Y1E (4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘;+C"Zk0e#H-Uo
(5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌岸然和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。Q ~Z;{4ij._
(6)选用[/U]参数,表示无条件格式化,即破坏原来磁盘上所有数据。不加/U,则为安全格式化,这时先建立一个镜象文件保存原来的FAT表和根目录,必要时可用UNFORRMAT恢复原来的数据。s r7JE#h[8w
(二)UNFORMAT恢复格式化命令z*d ^wj:\|x+k
1.功能:对进行过格式化误操作丢失数据的磁盘进行恢复。iF#l'pC6YWk+_
2.类型:外部命令2@M+k n2q \
3.格式:UNFORMAT〈盘符〉[/L][/U][/P][/TEST]i^IJ uK z
4.使用说明:用于将被“非破坏性”格式化的磁盘恢复。根目录下被删除的文件或子目录及磁盘的系统扇区(包括FAT、根目录、BOOT扇区及硬盘分区表)受损时,也可以用UNFORMAT来抢救。
~%x8tESv@ (1)选用/L参数列出找到的子目录名称、文件名称、大孝日期等信息,但不会真的做FORMAT工作。vjp1hnmb
(2)选用/P参数将显示于屏幕的报告(包含/L参数所产生的信息)同时也送到打印机。运行时屏幕会显示:“Print out will be sent to
h5J&U.wv-oE9vM0r LPT1”RfcbW+T*S z9}"loQ
(3)选用/TEST参数只做模拟试验(TEST)不做真正的写入动作。使用此参数屏幕会显示:“Simulation only” kQ:R@ |K
(4)选用/U参数不使用MIRROR映像文件的数据,直接根据磁盘现状进行UNFORMAT。,?@\'o'@b
(5)选用/PSRTN;修复硬盘分区表。bd)}.];H6Zf?6f2o
若在盘符之后加上/P、/L、/TEST之一,都相当于使用了/U参数,UNFORMAT会“假设”此时磁盘没有MIRROR映像文件。C)]~s*vt1pGTB
注意:UNFORMAT对于刚FORMAT的磁盘,可以完全恢复,但FORMAT后若做了其它数据的写入,则UNFORMAT就不能完整的救回数据了。 UNFORMAT并非是万能的,由于使用UNFORMAT会重建FAT与根目录,所以它也具有较高的危险性,操作不当可能会扩大损失,如果仅误删了几个文件或子目录,只需要利用UNDELETE就够了。$`(IAe To$pU#F"Q^
三) CHKDSK——检查磁盘当前状态命令
:p H@8m!q9Z 1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。H2c@(Wi\6af
2.类型:外部命令;e1X9[3qru
3.格式:CHKDSK [盘符:][路径][文件名][/F][/V]
`!E2U n#pRz+U 4.使用说明:
6K)YNEabSM F (1)选用[文件名]参数,则显示该文件占用磁盘的情况;
q K @;G:B%Jz'\ (2)选[/F]参数,纠正在指定磁盘上发现的逻辑错误;
%x8~b?(OC (3)选用[/V]参数,显示盘上的所有文件和路径。
[;hkr9P._u (四)DISKCOPY——整盘复制命令 Kv4t2X.R*Q T8EF
1.功能:复制格式和内容完全相同的软盘。K-P | y+]"hFi ]
2.类型:外部命令
]!{;N:F;i(S3} 3.格式:DISKCOPY[盘符1:][盘符2:]Q2d5?7li z
4.使用说明:
*cp)F$Xv*Z (1)如果目标软盘没有格式化,则复制时系统自动选进行格式化。 XI1K5?F%p3QJ8]e)D
(2)如果目标软盘上原有文件,则复制后将全部丢失。
#mOEq2t;G0kp!` (3)如果是单驱动器复制,系统会提示适时更换源盘和目标盘,请操作时注意分清源盘和目标盘。 n8u0o0? Hp
(五)LABEL——建立磁盘卷标命令Nfc$WJ!\L0h X
1.功能:建立、更改、删除磁盘卷标。)J5i tK v)yu(_ L|
2.类型:外部命令3J%a9or+\ k-q
3.格式:LABEL[盘符:][卷标名]2n;]z(g}SP
4.使用说明:)ap[+x*KG/]J
(1)卷标名为要建立的卷标名,若缺省此参数,则系统提示键入卷标名或询问是否删除原有的卷标名;
A4~3[ D3r.{"t'm (2)卷标名由1至11个字符组成。"G9STI(pG;S5Z5C(F
(六)VOL——显示磁盘卷标命令
!F4L dY6n.q 1.功能:查看磁盘卷标号。
+lf$u`f*C a@ 2.类型:内部命令
\%\.d._-fV kQ\yf 3.格式:VOL[盘符:]
!@9i l Vb(yR*n-tA ?_x 4.使用说明:省略盘符,显示当前驱动器卷标。| a)?,f }zU9i
(七)SCANDISK——检测、修复磁盘命令d*F+G?k!NU
1.功能:检测磁盘的FAT表、目录结构、文件系统等是否有问题,并可将检测出的问题加以修复。
W L G3n7bS 2.类型:外部命令1LQPVq5ak
3.格式:SCANDISK[盘符1:]{[盘符2:]…}[/ALL]&wSb2v_0p&y+^
4.使用说明:
EwSo9QU0f (1)CCANDISK适用于硬盘和软盘,可以一次指定多个磁盘或选用[/ALL]参数指定所有的磁盘;
sb7R3f8K&sM(k!R (2)可自动检测出磁盘中所发生的交叉连接、丢失簇和目录结构等逻辑上的错误,并加以修复。
Hc9K.\ N+Fw gq (八)DEFRAG——重整磁盘命令
gVEAuHg WQ 1.。功能:整理磁盘,消除磁盘碎块。
x(N"gg$\m^5gkL 2.类型:外部命令?p;P-[7vqEp
3.格式:DEFRAG[盘符:][/F]
l/a_9e*e M(z 4.使用说明:选用/F参数,将文件中存在盘上的碎片消除,并调整磁盘文件的安排,确保文件之间毫无空隙。从而加快读盘速度和节省磁盘空间。
Bd}3xk^ l (九)SYS——系统复制命令
;g1vcv\s"Pr1E 1.功能:将当前驱动器上的DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM 传送到指定的驱动器上。
E|#b m:_ L 2.类型:外部命令.N+p/kt A
3.格式:SYS[盘符:]
LU P#y`["N ? *使用说明:如果磁盘剩余空间不足以存放系统文件,则提示:No roomfor on destination disk.(]5G |"AA&vE m s
文件操作类命令
W+N6}C!t'y(B (一) COPY文件复制命令
{$n#p*ICW*c 1.功能:拷贝一个或多个文件到指定盘上。c+W_:k-v&[;X]&_a
2.类型:内部命令/k:Y} R5n8K~
3.格式:COPY [源盘][路径]〈源文件名〉[目标盘][路径][目标文件名]
[D TsI6B 4.使用说明:V+g%i6ru,JQ
(1)COPY是文件对文件的方式复制数据,复制前目标盘必须已经格式化;
(Sjif_/P{H'g (2)复制过程中,目标盘上相同文件名称的旧文件会被源文件取代;kaJ.C(P\
(3)复制文件时,必须先确定目标般有足够的空间,否则会出现;insufficient的错误信息,提示磁盘空间不够;
p6nD`g+us (4)文件名中允许使用通配举“*”“?”,可同时复制多个文件;@-n3S _ ah
(5)COPY命令中源文件名必须指出,不可以省略。#{#e`.W&J,l
(6)复制时,目标文件名可以与源文件名相同,称作“同名拷贝”此时目标文件名可以省略;0d's&z5HJ1k+}c
(7)复制时,目标文件名也可以与源文件名不相同,称作“异名拷贝”,此时,目标文件名不能省略;,e l3_q]5@
(8)复制时,还可以将几个文件合并为一个文件,称为“合并拷贝”,格式如下:COPY;[源盘][路径]〈源文件名1〉〈源文件名2〉…[目标盘][路径]〈目标文件名〉;%d.d6SS:{%A~ d'C||
(9)利用COPY命令,还可以从键盘上输入数据建立文件,格式如下:COPY CON [盘符:][路径]〈文件名〉;
xY W&_ E5_ (10)注意:COPY命令的使用格式,源文件名与目标文件名之间必须有空格!
!Ae9Gt#`xv*f (二)XCOPY——目录复制命令/y&rUhJOP AI/u
1.功能:复制指定的目录和目录下的所有文件连同目录结构。'|;Y(lk Y0@CZ
2.类型:外部命令
R&XO8UG u7h6Y{ 3.格式:XCOPY [源盘:]〈源路径名〉[目标盘符:][目标路径名][/S][/V][/E]
@1^ W$p+SZ 4.使用说明:K"`"`As&[8}9I:I
(1)XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝隐藏文件和系统文件;il$B7u!xi%V
(2)使用时源盘符、源目标路径名、源文件名至少指定一个;!@1H^4Bd Q!ZR
(3)选用/S时对源目录下及其子目录下的所有文件进行COPY。除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录;
]9}'F0~|2c'uiMS (4)选用/V参数时,对的拷贝的扇区都进行较验,但速度会降低。;WPp H0?$V@
(三)TYPE——显示文件内容命令
X%j~T:P 1.功能:显示ASCII码文件的内容。7C'\X(K(y;u+AY
2.类型:内部命令。
4J a3v Q6J 3.格式:TYPE[盘符:][路径]〈文件名〉
v1dZ"?ZT+YLK 4.使用说明:f9Rz,cR)x0@:x
(1)显示由ASCII码组成的文本文件,对。EXE.COM等为扩展名的文件,其显示的内容是无法阅读的,没有实际意义2;
7zRQ0n p5E8U*upJ (2)该命令一次只可以显示一个文件的内容,不能使用通配符;Q*?J)L"f*b
(3)如果文件有扩展名,则必须将扩展名写上;E H(a,U1zo/|)T
(4)当文件较长,一屏显示不下时,可以按以下格式显示;TYPE[盘符:][路径]〈文件名〉|MORE,MORE为分屏显示命令,使用些参数后当满屏时会暂停,按任意键会继续显示。
Q4Re:K!t1E9Z5W (5)若需将文件内容打印出来,可用如下格式:
3W#T,HL@U._&J5B TYPE[盘符:][路径]〈文件名〉,>PRN
:O_w;bK8Z$W3c&C N] 此时,打印机应处于联机状态。d#V9Y$ZYm`
(四) REN——文件改名命令
O_C'K5|@ J 1.功能:更改文件名称~}8l;Vk1D,D E
2.类型:内部命令
Z8Vor eRW.Lc 3.格式:REN[盘符:][路径]〈旧文件名〉〈新文件名〉ar6hY(NGL2o$_
4.使用说明:%X'pv9\jn4fb
(1)新文件名前不可以加上盘符和路径,因为该命令只能对同一盘上的文件更换文件名;
,DI&X fp} I#Q (2)允许使用通配符更改一组文件名或扩展名。
Yh:syO,Ax&QX r (五)FC——文件比较命令-n`[3@9v#W{@ F
1.功能:比较文件的异同,并列出差异处。
%AZ(?S1J~ 2.类型:外部命令
_~ _%L)\IW 3.格式:FC[盘符:][路径名]〈文件名〉[盘符:][路径名][文件名][/A][/B][/C][/N]1n!R9^dK3d]5r1CaMv
4.使用说明:I'@_ F!\ I
(1)选用/A参数,为ASCII码比较模式;x'Y0|)Bx(l.l
(2)选用/B参数,为二进制比较模式;
%TLed[` (3)选用/C参数,将大小写字符看成是相同的字符。[/GZB'E S M ~8i
(4)选用/N参数,在ASCII码比较方式下,显示相异处的行号。 p)zm$X8r$Br+z
(六)ATTRIB——修改文件属性命令
l NG MJijZ5A 1.功能:修改指定文件的属性。(文件属性参见2.5.4(二)文件属性一节)
.X+m kq7Fz| 2.类型:外部命令。/UBPu1D Co U
3.格式:ATTRIB[文件名][R][——R][A][——A][H][——H][S][——S][/S]
K7?9ZX&MgX:Ww 4.使用说明:ypv-L8Zp,`ia'E9K
(1)选用R参数,将指定文件设为只读属性,使得该文件只能读取,无法写入数据或删除;选用——R参数,去除只读属性;_&a w3a0J
(2)选用A参数,将文件设置为档案属性;选用——A参数,去除档案属性;
Sr1O)nd S:N {Y (3)选?**参数,将文件调协为隐含属性;选用——H参数,去隐含属性;
A m1Q)T%cj (4)选用S参数,将文件设置为系统属性;选用——S参数,去除系统属性;
9Uih;@:k+J (5)选用/S参数,对当前目录下的所有子目录及作设置。
K&qBe$b\T 七) DEL——删除文件命令5Ld)E @u5AvL
1.功能:删除指定的文件。&r,{&^ h-T(~a |fl
2.类型:内部命令
+|/Ga m%n$[:d 3.格式:DEL[盘符:][路径]〈文件名〉[/P]
:E1^:S?x;| r 4.使用说明:7o2V)JM1wF K
(1)选用/P参数,系统在删除前询问是否真要删除该文件,若不使用这个参数,则自动删除;.l i"Ry.U:m&{ @4o
(2)该命令不能删除属性为隐含或只读的文件;
+{'Cy:\&VU:j)W.f (3)在文件名称中可以使用通配符;k \ouQ#vJ
(4)若要删除磁盘上的所有文件(DEL*·*或DEL·),则会提示:(Arey ou
5@%|s9f6S sure?)(你确定吗?)若回答Y,则进行删除,回答N,则取消此次删除作业。A)n c~ I
(八) UNDELETE——恢复删除命令
` a c u1?@)M Em 1.功能:恢复被误删除命令x_4g9q9[
2.类型:外部命令。
3uctgb t 3.格式:UNDELETE[盘符:][路径名]〈文件名〉[/DOS]/LIST][/ALL]6h6h;mP%G u"~
4.使用说明:使用UNDELETE可以使用“*”和“?”通配符。
[/?p"]d3D1~wK%i (1)选用/DOS参数根据目录里残留的记录来恢复文件。由于文件被删除时,目录所记载斩文件名第一个字符会被改为E5,DOS即依据文件开头的E5和其后续的字符来找到欲恢复的文件,所以,UNDELETE会要求用户输入一个字符,以便将文件名字补齐。但此字符不必和原来的一样,只需符合DOS的文件名规则即可。
[)E:b1Geu vUg (2)选用/LIST只“列出”符合指定条件的文件而不做恢复,所以对磁盘内容完全不会有影响。B KYm4|-w @h
(3)选用/ALL自动将可完全恢复的文件完全恢复,而不一一地询问用户,使用此参数时,若UNDELTE利用目录里残留的记录来将文件恢复,则会自动选一个字符将文件名补齐,并且使其不与现存文件名相同,选用字符的优选顺序为:#%——0000123456789A~Z。
?Ss$d"B eN'G UNDELETE还具有建立文件的防护措施的功能,已超出本课程授课范围,请读者在使用些功能时查阅有关DOS手册。
6hhIG6c}[:u 七、其它命令tGRXpaQ*HP$n
(一)CLS——清屏幕命令3\M%}y+ow'v Rt2t
1功能:清除屏幕上的所有显示,光标置于屏幕左上角。
bcZ nk 2类型:内部命令e^+p9rB9[ j tfT
3格式:CLS7? _2C?TZ2sJjj3Y
(二) VER查看系统版本号命令
3e6i-f0N h2S 1功能:显示当前系统版本号
L_E0w)o t}}] 2类型:内部命令0w~ ynE/c
3格式:VER \E~ S ~H/Jb~!J
(三) DATA日期设置命令1o#eH"G/e1Z j
1功能:设置或显示系统日期。+gg\La:ine2E
2类型:内部命令
b8k&aqA#b 3格式:DATE[mm——dd——yy]e\f)V;\&]n0L_
4使用说明:#h'l~6Ex$^&nKa
(1)省略[mm——dd——yy]显示系统日期并提示输入新的日期,不修改则可直接按回车键,[mm——dd——yy]为“月月——日日——年年”格式;
h$RBQZsS.}8RU (2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。T F.e.mKZ T'S;U
(四) TIME系统时钟设置命令
"? j5e1Igh.f,S 1功能:设置或显示系统时期。5U7{;uE:_4v uQ^$BZ
2类型:内部命令 sDyI a9A8Q
3格式:TIME[hh:mm:ss:xx]
/DZz,u:tC 4使用说明:
y1f&d%n,J,OJ (1)省略[hh:mm:ss:xx],显示系统时间并提示输入新的时间,不修改则可直接按回车键,[hh:mm:ss:xx]为“小时:分钟:秒:百分之几秒”格式;
[m+h$R:I?l9K(u (2)当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。'{i@+QCYt,{*w&m
(五)MEM查看当前内存状况命令
&x+\}t5] 1功能:显示当前内存使用的情况
G7pK-S9g3@J/btn 2类型:外部命令
r0D0y&Pg NAT 3格式:MEM[/C][/F][/M][/P]:v'tJsL8a
4使用说明:
z1A!L [*_.IdI(b/oV (1)选用/C参数列出装入常规内存和CMB的各文件的长度,同时也显示内存空间的使用状况和最大的可用空间;K ]n^_c)z!^z NO
(2)选用/F参数分别列出当前常规内存剩余的字节大小和UMB可用的区域及大小;\H*x s5|mCX
(3)选用/M参数显示该模块使用内存地地址、大小及模块性质;
4K3Q'uju:K&Uh3yj (4)选用/P参数指定当输出超过一屏时,暂停供用户查看。
8kC8p,Jf (六) MSD显示系统信息命令
\&W)d#fXsQW 1功能:显示系统的硬件和操作系统的状况。B `Z2gP C
2类型:外部命令*W7`bj$y0~
3格式:MSD[/I][/B][/S]jF}1zl%{&LH5{
4使用说明:R(W*GgmU0h!_%~j
(1)选用/I参数时,不检测硬件;
^-w+XQ?W9~ (2)选用/B参数时,以黑白方式启动MSD; lc]5Lx x9jy
(3)选用/S参数时,显示出简明的系统报告。+E'}7N)wh%\?
DOS批处理文件
IjQ3z `5|+M DOS 下的可执行文件有三种,分别是EXE,COM和BAT。其中,EXE和COM文件都是二进制形式的,只有BAT文件是文本形式的,可以直接阅读。因此, BAT文件和以上二进制可执行文件相比,内容要简单的多。这些文件内包含着DOS命令的集合,通常叫作批处理文件。批处理文件的组成虽然比较简单,但其用处非常大,使用也比较广泛。比如每次都执行一些相同的命令,您一定会觉得非常麻烦,而放在批处理文件中执行的话则轻松得多。AUTOEXEC.BAT就是一个特殊的批处理文件,它在DOS的启动时自动运行,在系统的配置中发挥着非常大的作用。因此,要学好DOS,就要学好批处理文件。下面介绍批处理文件的命令及其使用。
$F)NY)R/[TNg+J6d DOS自带的批处理命令:(C(H/\ q5K&O7r9O
@:将这个符号放在批文件中其它命令的前面,运行时将不显示命令本身。z |Z8W5w])MMd
如@ECHO OFF命令就在批文件首经常用到。
1o1|^"hI4[)Ua i1Yqw CALL:从一个批文件中调用另一个批文件,调用完后继续执行原来的批文件。
a'ESThM~(C 用法:CALL [批文件名]
_8Rx)ON{L M 注:也可以使用COMMAND /C命令完成同样的操作。 v\r$z.U.w^3P(K
CHOICE:选择命令。这是一个DOS外部命令,但它主要用在批文件中。
V(uvQ M&W-?$C CHOICE命令执行后将提示可选择的项目,这时通过一个按键来选则。
@I/VB@&H1U 用法:CHOICE:[/C[:]按键表] [/N] [/S] [/T[:]选择值,秒数] [显示文本] z$`jH1eH
其中,/C表示可选则的按键,/N表示不要显示提示信息,/S表示大小写字符敏感方式,/T表示若在批定的时间内没有选则的话,自动执行/C中定义的某个选择值。显示文本是CHOICE命令执行时的提示信息。选择结果将用ERRORLEVEL值来表示。
"Z l@nf.wM)J ECHO:显示指定的信息。通常显示在屏幕上。qi%}.Y$p.?
如ECHO Hello将在屏幕上显示Hello的字样。l,Z8E,hANG k
另外,ECHO ON|OFF用来设置在批文件执行时是否显示命令本身。而ECHO OFF与@的意思一样,但它是一个单独的命令,而不能像@那样放在其它命令之前。
S.x7uC"F7C9x"B%dxl FOR:对于指定的文件运行相应的命令。
q"WfQ1B1u 大家知道,DOS下许多命令支持通配符,如?和*,可以一次指定一批文嫁,非常方便。然而,并非所有的DOS命令都支持通配符,如TYPE(文件内容显示命令)就不支持。有了FOR命令就没有关系了,利于它可以使TYPE命令可以一次显示多个文件。
B8J!A4N+_6nu 用法:FOR %变量名 IN (文件集) DO 命令 [命令参数]D6_`F%yS
注:以上是FOR命令的固定形式,IN和DO的位置必须正确,否则将提示语法错误。2zF Djc Vl
如FOR %F IN (*.*) DO TYPE %F命令就可以实现TYPE命令一次显示多个文件。
N [+K&p?#k K3Ef 注:%F是变量名,也可用%G等代替,但前后必须一致。在批文件中用%%F代替。
9wHZ G:?C{ GOTO:转到批文件内部的某个标号下执行。Ys7wo TK)Z6CVs b(N
大家知道,在编程中往往需要重复或跳转到某个地方继续执行,如BASIC语言中的GOTO命令。批文件中的GOTO命令也可以完成类似的功能。
c5H;EN[3q9Z&f4c 用法:GOTO [标号名]3\4F#vg w,d2Q
其中,标号名是可以随意设置的,如Hello等。设置标号用“:”符号,如“:Hello”,这时用GOTO
w wzB.^ Hello命令将转到“:Hello”所在的位置继续执行批文件。
!v)w o uA1[Bl IF:条件判断命令。这是一项很有用的批处理命令。 F,fHwhrh'D
用法1:IF [NOT] EXIST 文件名 命令 [命令参数]
5k.L.kVO Z1bBiR 意义:如果[不]存在某个文件将执行某个命令。GaV'ot9Y;i
用法2:IF [NOT] ERRORLEVEL 错误返回代号 命令 [命令参数]
I$tm2Xb'w 意义:如果错误返回代号[不]大于或等于指定的代号将执行某个命令。
*j @K'j @#K3~Ka 其中,ERRORLEVEL表示错误返回代号,很有用。对于很多DOS命令,由于执行的结果不同(如执行成功,执行失败,或被用户中断等),这些命令会返回不同的代号,以表示不同的结果。IFI;}s.]v6Eu
ERRORLEVEL命令就根据这个不同结果而产生的不同代号来执行不同的命令,通常用在某条命令之后。如IF ERRORLEVEL 1 ECHO:Pt1C*h$r,O(P7_
OK!表示如果当前的错误返回代号大于或等于1时将在屏幕上显示“OK!”的字样。%?!z&r;n^ {?)?
用法3:IF [NOT] 字符串1==字符串2 命令 [命令参数] dAMA X0J ytH
意义:当字符串1和字符串2[不]相等的时候执行某个命令。
KIhyV PAUSE:暂停批文件的执行,并显示“按任意键继续”的字样。gM5YD/Ed'Z
REM:添加注解。用于增加文件可读性,将不被执行。也可以用::来代替。[:s _ f y3[Jk5Q4W
SHIFT:在批文件中改变可替换参数的位置。
"JR2vU2c;OD t#z+S8b 可替换参数是一种特殊的参数,只能用在批文件中。这些参数是由使用者在执行批处理命令时输入的。比如,我们执行DIR /S
*f CB`?F/C1X9H f /W 命令,其中DIR是命令名,/S和/W是它的执行参数。在批文件中,这些命令参数将被分别赋予到可替换参数中,如/S就成的%1,/W就可了%2,以至类推,而命令本身则被赋予%0中。批文件就是利用可替换参数对执行时输入的参数来进行操作的。比如现在有个批处理文件叫MYFILE.BAT,在命令行下执行MYFILE.BATL&v/A{ `mQ2\
YES,于是%0的值就是MYFILE.BAT,%1的值就是“YES”,可以在此批文件中用IF等命令判断出%1等参数的值,然后根据这些值的不同执行不同的操作,如IF
:v(~2C!R%^7K "%1"=="YES" GOTO YES。 ^0TsR,QL
SHIFT 命令不带任何参数,执行结果是将%0的值换成原%1的值,而原%1的值变成的原%2的值,以此类推。注意它的不可逆转性。因为批处理文件执行时的运行参数可能很多,可能会超过10个,而可替换参数只能从%0到%9,若想取得%9以后的参数值,只能使用SHIFT命令。这时,整个参数列将向前推。
6Z8H OGDme2QD 以上是DOS的自带批处理命令,可以看出,这些命令是非常少的,若要编写较复杂的程序,用以上的命令显然不可能实现。这时就需要其它实用的批处理工具了,著名且实用的有TESTIF,STRING,ASET,BATCHMAN,WBAT等,均可在“DOS软件分类下载”中的“脚本工具”中下载。在批处理文件中使用以上的工具可以实现非常强大的功能,甚至可以完成许多高级语言程序的功能。所以,如果您想编者按写批处理文件的话,它们是您不错的选择,不仅有详细的文档,而且还在不断发展中。
E.KFvJ@ qJV 下面就要谈批处理文件的制作了。其实制作批处理文件并不难,只要掌握了方法就行了。随着您操作次数的增多,您会觉得越来越容易的。&V @8?Bs@?4e:j
首先使用一个文本编辑器,如DOS自带的EDIT命令或其它的编辑工具,如PEDIT等新建一个空白文件(当然,用COPY
7xM!oE Uq _#B.F CON命令直接创建也行),然后在其中根据您想完成的功能输入批处理命令。如果您只是想执行一些的DOS命令的集合,则按顺序在每行输入一个DOS命令就行了。但如果您是想完成一些更复杂的操作,就需要以上的批处理命令或上述的批处理工具了。
5f`b5B;R{-m 以下是我原来所编的一个从1%慢慢增加到100%的批处理小程序,大家可以用作参考,以编写自己的程序。
f&^uN9L9c @echo off
GS1\Fd'x)T break off
DZA'q3c_a? cls
p0s"l3s&L]rX A set c=0
8Rw1IY0c4y writext 10 1 Wait...
?2a Q7pt;kw be delay 4
(gzBxi:p2Ci :loop
SrA;l"j:}i:k5L9D7` writext 10 9 %c%%%

fst10 发表于 2008-6-28 09:08

DEL:删除一个或数个文件。
k|.L8L:N1C0v
8{(v3BG*A2o"D @)N8JT DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
'E}M$N+d{4g%E ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
3V-a$PglgMM7{(?kD!jx
$S:Z,ts B names 指定一个或数个文件或目录列表。通配符可被用来
-}z9P9YkZ 删除多个文件。如果指定了一个目录,目录中的所oj7v P+W(UO9[2S
有文件都会被删除。5FG2jT9lb)ug
y&u,}#m^.Ol
/P 删除每一个文件之前提示确认。w/[ {6TK*~;\]
/F 强制删除只读文件。7O'n/M;y.INw-p
/S 从所有子目录删除指定文件。7]N']$V/F!s+ig)ENh6_
/Q 安静模式。删除全局通配符时,不要求确认。0XImL1{0W y)n
/A 根据属性选择要删除的文件。,Wwbxa
attributes R 只读文件 S 系统文件&lOzeS6YdK
H 隐藏文件 A 存档文件
l \0C zy7uP/R1i - 表示“否”的前缀F9OWtI
df2J7l/`wB(ah2x F
如果命令扩展名被启用,DEL 和 ERASE 会如下改变:
Z7s%sQ/D7Kh ,b x'?!oi_t,C
/S 开关的显示句法会颠倒,即只显示已经[BVQ5h$S
删除的文件,而不显示找不到的文件。
'k4P lw]i xI
(X&w k;V%Wm{ DIR:
9q5G*C(P8VX DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] U$`k C'`m
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
!e'^-c'b#Q&o fujpF}W
[drive:][path][filename]
"on:p2ouh|"ez 指定要列出的驱动器、目录和/或文件。
Vn}i"u0WY Ng1x5a@Qwz/T?
/A 显示具有指定属性的文件。
J3o+_%kC&YW!C8GvN4u-Y attributes D 目录 R 只读文件
.[:wm*K$]"g;{ H 隐藏文件 A 准备存档的文件 R s4{*H:_%B]
S 系统文件 - 表示“否”的前缀
srA }f1H /B 使用空格式(没有标题信息或摘要)。1I/|n p&B"e
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来QE6D^ Kh@"` @;D
停用分隔符显示。X.Gr"ATem&I|0_
/D 跟宽式相同,但文件是按栏分类列出的。oUqq![+_!wN f;`
/L 用小写。
M&V$q A]Y\!tG*I"e /N 新的长列表格式,其中文件名在最右边。zn g:NwE
/O 用分类顺序列出文件。
3BH'] vC0hWi-~ sortorder N 按名称(字母顺序) S 按大小(从小到大))l k-_e9W%lt
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
%_c2f)D"AO G 组目录优先 - 颠倒顺序的前缀qyR|y
/P 在每个信息屏幕后暂停。0F&l-b M-T o*c
/Q 显示文件所有者。7[-qdqH"zRoo
/S 显示指定目录和所有子目录中的文件。Qf/hj^sFaF0P
/T 控制显示或用来分类的时间字符域。_k$L2Q {%P0w
timefield C 创建时间z1Czn!D k.\
A 上次访问时间"q D cN]#Ss;K
W 上次写入的时间
p5hPB }e /W 用宽列表格式。
Ub"R S4jGJq /X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,Qnm-j_In^)H
短名称插在长名称前面。如果没有短名称,在其位置则mjCCvS(B$G|
显示空白。
B,]-y#PG ]m3S /4 用四位数字显示年b _$zIFy6Wv:\^
&y/R/Szn)C1Q8g P
可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)Q+d+V)oW'o6~4g2jP
来替代预先设定的开关。例如,/-W。
,w[(\[ JJv 5t*cG-Dqn#|
DISKCOMP:比较两张软盘的内容。6k P%Sb)CBJ,\ S
Um+MhUB-V
DISKCOMP [drive1: [drive2:]]
,s%mJ4u0T2u7Y
RO x,mZ`C DISKCOPY:把一张软盘的内容复制到另一张。 doHC'`.AZ-bJk
.A%u/X2r&|X8E6k
DISKCOPY [drive1: [drive2:]] [/V]
R5pk$G]$M"H7SI$@ F7\ XX N
/V 校验信息复制得是否正确。
/`,J/b$DX
)~H(E(~)NR6f 两张软盘的类型必须相同。W-tu(ASP ~
您可以为 drive1 和 drive2 指定同样的驱动器。{4aT8Wm

3AyraO!jm ECHO:显示信息,或将命令回显打开或关上。O?-{mV Laz vl

Z rf2t!W\%QR ECHO [ON │ OFF]
NY#] v/j%R-XI[` ECHO [message]
i{PZLS J d!Z(X0G/K$Ik9T*]8v
要显示当前回显设置,键入不带参数的 ECHO。
5R![+Ts.L~&^ M3Q 'Qgj_/dq6_U
FC:比较两个文件或两个文件集并显示它们之间的不同fRD_e5y
+O3\$x.v7QZY[*[K
;WX w!f*Z2vCJl&_
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]4x,QbNn-N Ij
[drive1:][path1]filename1 [drive2:][path2]filename2
d_\:I#K]Gged%L U FC /B [drive1:][path1]filename1 [drive2:][path2]filename2B}7Fg2BUTcq

-lL6g~'ht /A 只显示每个不同处的第一行和最后一行。
0@ AI:|*?x /B 执行二进制比较。_Ma3{+W0vz(o4gz
/C 不分大小写。5Wte gAS5h{
/L 将文件作为 ASCII 文字比较。F0dR}/H^
/LBn 将连续不匹配的最大值设为指定
F6D/`~ub&z 的行数。&v W3}ib)@-i
/N 在 ASCII 比较上显示行数。V#A:KZC%\ n
/OFF[LINE] 不要跳过带有脱机属性集的文件。
5M"C9gK&~T /T 不要将 tab 扩充到空格。
R-J.V _B$?W /U 将文件作为 UNICODE 文字文件比较。&Y|a^,]&n&vf
/W 为了比较而压缩空白(tab 和空格)。
An|5C3i!X2l&{ /nnnn 指定不匹配处后必须连续匹配的行数。OF(B'sG*T2SW3y
[drive1:][path1]filename1W:e:L9P'K!hL[
指定要比较的第一个文件或第一个文件集。'uA/r_5bL A'K
[drive2:][path2]filename2 TO'c#QUF.p
指定要比较的第二个文件或第二个文件集。6gj @O)ib'x;H} `

&X-qk`,` ? FIND:在文件中搜索字符串。5Y'IZ mNjS
.qg|"txI
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]]7z4e7R2Q*a#f

3~v5b}+HMnX p /V 显示所有未包含指定字符串的行。
E4hI6sx)s-_o6?/MW /C 仅显示包含字符串的行数。+`,m/F*@bSk
/N 显示行号。
1k#{] TQ7s/x5S&R BA /I 搜索字符串时忽略大小写。
.nS0} KY)OiPb8d } /OFF[LINE] 不要跳过具有脱机属性集的文件。
q8v-C&fsjO rU "string" 指定要搜索的文字串,
*b![^}$np1r [drive:][path]filename0?$MuZah.M1u^T
指定要搜索的文件。
5[*A Q-A&ZyU
C ^E X8j%k*y*Yz4z V 如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。
_GA*|2F
^(S'hrd*l+i FORMAT:格式化磁盘。
c#v _t/^@ e%Y
TE.r&G s(g3cS_ FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X]
J/D{9O-kw+d FORMAT volume [/V:label] [/Q] [/F:size]
k7[_SL \`^b FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors]\7OV.O_o,{o#y
FORMAT volume [/V:label] [/Q]+w{z}qq5X&Se2i5f x
FORMAT volume [/Q]
bj%a0d-y,M Qx'u (g9|wnqEF0Q,c
volume 指定驱动器(后面跟一个冒号)、装入点j3?D9wS5n K ^V&a
或卷名。b w#n(Nn#Y L^
/FS:filesystem 指定文件系统类型(FAT、FAT32 或 NTFS)。_~%| Vt%tE9}g
/V:label 指定卷标。.XC7Y)My8G#` r;v"P
/Q 执行快速格式化。Lh8Y,Zn;I
/C 仅适于 NTFS: 默认情况下,将压缩在该新建卷上
%i l'S^v$T He2Q 创建的文件。
q\3L\&B&^+AE /X 如果必要,先强制卸下卷。那时,该卷所有fVyk8N&bPJ
已打开的句柄不再有效。AoA~ r
/A:size 替代默认配置单位大小。极力建议您在一般状况下使用$P(\t9[ f2cd
默认设置。
8e@lP+x9Ea&@ NTFS 支持 512、1024、2048、4096、8192、16K、32K、:C+DTo$VjA
64K。*I0f q!K6`U
FAT 支持 512、1024、2048、4096、8192、16K、32K、 kF;k'O3@$pb
64k,(128k、256k 用于大于 512 字节的扇区) 。
W+Pk"jwjf PZ z-M FAT32 支持 512、1024、2048、4096、8192、16k、32k、
].V9t.JI Dc$S 64k,(128k 、256k 用于大于 512 字节的扇区)。 I|gZ%xG

D!bg3@M Xz"Lf~ 注意 FAT 及 FAT32 文件系统对卷上的群集数量有以下限制: Q\1Me EX:{
D0`I{1mz*XD&~j
FAT: 群集数量 <= 65526z2VRb,Z9G:s
FAT32: 65526 < 群集数量 < 4177918cM*D0xl'Jek;Ys|

Z5C [T5I(U 如果判定使用指定的群集大小无法满足以上需求,格式0J5b:[,Q8O ~(Y~
化将立即停止。2SYV0fRd
\6^c v\Q[
NTFS 压缩不支持大于 4096 的分配单元。gpF8C;m

(Mhx/Z[ /F:size 指定要格式化的软盘大小(1.44)
0` ?TGIV$` /T:tracks 为磁盘指定每面磁道数。+n"_/d G6qk
/N:sectors 指定每条磁道的扇区数。R1[9nA:o4HA l
LABEL:创建、更改或删除磁盘的卷标。,SV2Ukk:zvg
|7y`9O6T R"DM-z
LABEL [drive:][label]Ck)O E3rH
LABEL [/MP] [volume] [label]pnfU/s@{D#A*j
I W4k4J!M#|H9X3K*P_4T
drive: 指定驱动器名。/m YXs`
label 指定卷标签。.O(w/wV V_Db;?@,]
/MP 指定卷应该被当作安装点或卷名。
k)T hZ;L volume 指定驱动器(后面跟一个冒号)、装入点.Jk;k.njQ8AF4c
或卷名。如果指定了卷名,/MP 标志则不必要。4A,o r)jV0j

-u sUo"r"p MD:创建目录。
C,FIEg3p|
,g{K8`q!~F8E MKDIR [drive:]path/U)r3HO*du(fY2CW
MD [drive:]path[IN's5Bd0TN
`z? gW
如果命令扩展名被启用,MKDIR 会如下改变:P)C ??8b;IA } n

]*O'h,ynXe 如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 \a 不
(L'o8y^P 存在,那么:RIECT1H

9FG'?7XxPW#\)F mkdir \a\b\c\d
UR%{{4QWW e3|
M%]](b4jn } 与:
}U3gc F)F;o3o 0P$uK2CVHQT0Hy
mkdir \a@*{{T'c
chdir \as`N E$v&A
mkdir b
:_Ysl:q_7vGH chdir b%o1`,sY1M0qbql
mkdir cW];}*@&GcIO eW
chdir c
ZM zN TH^ mkdir dsi#{$G^%p
Ot y q%``
相同。如果扩展名被停用,则需要键入 mkdir \a\b\c\d。
q/@`/Z:p
nsCB;C [ t T MOVE:移动文件并重命名文件和目录。 D@i/M:^pyo

K1r.O@.S0z-? 要移动至少一个文件:
k1I#LlBp-c MOVE [/Y │ /-Y] [drive:][path]filename1[,...] destination;tFJCNVO

]0@ rtc R;Jq 要重命名一个目录:9a6T:ep2A/g&U
MOVE [/Y │ /-Y] [drive:][path]dirname1 dirname2
~a\i? 7nr6IY O*Q&OtUG
[drive:][path]filename1 指定您想移动的文件位置和名称。
"m/opG a`5h destination 指定文件的新位置。目标可包含一个驱动器号
5K BV0X2b6E5JfRc 和冒号、一个目录名或组合。如果只移动一个文件
,[9r"VK;N]7x'I 并在移动时将其重命名,您还可以包括文件名。
E}-^x`&i [drive:][path]dirname1 指定要重命名的目录。!H%z:s{C'^O
dirname2 指定目录的新名称。
c%uQ'_c
/re'V T&Z w-K /Y 取消确认改写一个现有目标文件的提示。
4Z8P2B$j.w"f /-Y 对确认改写一个现有目标文件发出提示。t#[5{ L2b9z,J

.ZQ3E%l:j SYS 命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上
'lT:? z&\e 的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内 H,A'A H Wu,Tx,br
执行的,改写时都发出提示。$] |F/g;]"~'lv[\`
3Z#k/X0N+ya}(D
PROMPT:更改命令提示符。
T1tQT~m3K+^
Y%h,~c4Z;g&M"a PROMPT [text]2hw]4A!z1B g

0DYM/S's8F text 指定新的命令提示符。#x o&_@)K1k#WK0@

a5L8[nlpN ^ 提示符可以由普通字符及下列特定代码组成:
C/~HFXn?0uT
"kJWv8{ h/L#D $A & (短 and 符号)p8px2?cz3MGP
$B │ (管道)zL/y/^+@&N~
$C ( (左括弧)-oqa|4l9@&] }wz
$D 当前日期(rd)U l3g }5lu
$E Escape code (ASCII 码 27)juGo!f5bH6m
$F ) (右括弧)]*x9x`'Ge c/^
$G > (大于符号)
~p'L!J? nhc8Vd $H Backspace (擦除前一个字符)7|#JA.VA[nt2J i
$L < (小于符号)
fr7EW+_1o $N 当前驱动器U#vZMEG"?Y$J~/@
$P 当前驱动器及路径
{-J1Yt/vJB $Q = (等号)
p+yH0Lv~#C $S (空格)8b9D.gC~/t}'y0q
$T 当前时间 @N;Hd@p(\s
$V 版本号)aKo8D|T4w.z
$_ 换行
Rc`*t4V6D6~0H $$ $ (货币符号)Qr wK8@,k3YF

oN7~]Y 如果命令扩展名被启用,PROMPT 命令会支持下列格式化字符:
d ^ O.[8ia (Q grxrL(S5h
$+ 根据 PUSHD 目录堆栈的深度,零个或零个以上加号(+)字符;"Zl&L%S9fNSx0JW
每个被推的层有一个字符。
4u4V9hp1Lf/bm[2K+f 6s)b/jg-V0g?.[9t'J Y6rV
$M 如果当前驱动器不是网络驱动器,显示跟当前驱动器号或8EA![8L;t7|1E1I
空字符串有关联的远程名。 SE%qA| a.J
jU6D:IMFs(z+`
TIME:显示或设置系统时间。
UGVS,f#h I;A*tMO #jK4K)^_|
TIME [/T │ time]2|uVB-a_

/_*@!cwMa.I(K 显示当前时间设置和输入新时间的提示,请键入}LU zP_%Z
不带参数的 TIME。要保留现有时间,请按 ENTER。
/p j U8ch;pD6U kBk-g"s;Z!o
如果命令扩展名被启用,DATE 命令会支持 /T 命令行开关;该命令行开关告诉wER+X]L(dZ*yx{
命令只输出当前时间,但不提示输出新时间。
4\ \&dj+J4i.s.t
P+pw8@*u]:O#IN TREE:以图形显示驱动器或路径的文件夹结构。
.CdO)zz{;@!^H-h
"y Yg&W0Q TREE [drive:][path] [/F] [/A]
7n(cfr fzd1X ]
.BdD:A'H"E /F 显示每个文件夹中文件的名称。
Q1m5~:G'tc^ /A 使用 ASCII 字符,而不使用扩展字符。
SO.sK%N*X -@+blE ]MI^0o1ui
VER:显示 DOS / Windows 版本。
%D6rSY+tZ7N\
r;\ X,ul*QJ XCOPY:复制文件和目录树。
i.z8v2hvmT Z
#z2i#e$Ej+w XCOPY source [destination] [/A │ /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
d0|*BBn]qiE K*? [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]#mSB @*Wd B5_8k4g/l1Cq
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
5ML'fapFonR%B^:F [/EXCLUDE:file1[+file2][+file3]...]
&^&S.Nd1x [VK8S3^ ?#ppA3U
source 指定要复制的文件。
(r-l\&l B wy`V destination 指定新文件的位置和/或名称。0V;d|q%dkz6t
/A 只复制有存档属性集的文件,m}2I^LP,]
但不改变属性。B+Dj7Nfw }Sk
/M 只复制有存档属性集的文件,
,y~2O([l 并关闭存档属性。
lH:^ b*V2@*J[_:^| /D:m-d-y 复制在指定日期或指定日期以后改变的文件。
+^'t W ky[jS 如果没有提供日期,只复制那些源时间
v+Op&G@7j-` 比目标时间新的文件。x$]2h(]U?J
/EXCLUDE:file1[+file2][+file3]...T-]J"Fr
指定含有字符串的文件列表。如果有任何
AxM;y+b)Y 字符串与要被复制的文件的绝对路径
9F*B Z#{5@(LA 相符,那个文件将不会得到复制。
9S)L l$u|k!j T-w 例如,指定如 \obj\ 或 .obj 的字符串会排除i|X/L*WEH:^V#Ic
目录 obj 下面的所有文件或带有
nb_F4V{;RV0n .obj 扩展名的文件。9a,O){'k!p bo
/P 创建每个目标文件前提示。2^1Y|~#ADC.l;Q
/S 复制目录和子目录,除了空的。;rJm.m:{?d
/E 复制目录和子目录,包括空的。
,|!^5rPv1[iCE 与 /S /E 相同。可以用来修改 /T。
-Z8Lmf'R7Su ] /V 验证每个新文件。1g {%T6E8]'[
/W 提示您在复制前按键。
1x4e.Xs4v5Jd:X#R-Q /C 即使有错误,也继续复制。j1~1y[6[6h(L7{"eM
/I 如果目标不存在,又在复制一个以上的文件,
S2KQ0? }I 则假定目标一定是一个目录。
"G,Ia&fe:W4Z ^%lI /Q 复制时不显示文件名。
N|c0f7c{ M}'qT)x /F 复制时显示完整的源和目标文件名。!m*|1W)P]C.Y)c
/L 显示要复制的文件。
nO3N2O-X|1L@oK /G 允许将没有经过加密的文件复制到
MnR)Ut ]Gl(H2J 不支持加密的目标。
:`g @H:`*c5oha /H 也复制隐藏和系统文件。r:w U#k2\l"w?)i
/R 改写只读文件。%q_ U ]5PD1Z/E
/T 创建目录结构,但不复制文件。不
P XW.J [ 包括空目录或子目录。/T /E 包括$n4yqud-f&ap J
空目录和子目录。 V%P2Da.j{
/U 只复制已经存在于目标中的文件。'Q8z8K9{0q){U}
/K 复制属性。一般的 Xcopy 会重设只读属性。G*e'e"L*u#\'Yh
/N 用生成的短名复制。
\(_/a0T;w}q"y5J,~ /O 复制文件所有权和 ACL 信息。
#Dq8sVB!q /X 复制文件审核设置(隐含 /O)。
7VU7T9y;_ /Y 禁止提示以确认改写一个\xM:U9x
现存目标文件。m,QB3r?^J
/-Y 导致提示以确认改写一个O1V*L6lV
现存目标文件。
;Il^&Q|#} /Z 用重新启动模式复制网络文件。Q]9?&QMjs:MB

;VD#j3ETyE 使用批处理文件--常用命令V/`.dGOI
XiP)l3N8c
echo、@、call、pause、rem 是批处理文件最常用的几个命令,我们就从他们开始学起。 echo 表示显示此命令后的字符
2~ W3P"}3z+Lim echo off 表示在此语句后所有运行的命令都不显示命令行本身
|!_^fPxpc @ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。
,fI`-Rl]A call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令)2O1_?]0]-A/s5W
pause 运行此句会暂停,显示Press any key to continue... 等待用户按任意键后继续R;`7IfY9PSrgm/x
rem 表示此命令后的字符为解释行,不执行,只是给自己今后查找用的
D"g vn H J_'r t
k1IRsiZ.\2d+J ,}9]d[!TD
  例:用edit编辑a.bat文件,输入下列内容后存盘为c:\a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。
:[i d+i'p/z1h#g|
;P C(f3E:}   批处理文件的内容为:         文件表示:,qA8I+mV9{

b,hi dxi&\     echo off            不显示命令行O,R(nn0BM l
` ~UD5JX H
    dir c:\*.* >a.txt       将c盘文件列表写入a.txt S DZ#W] @w_ic
5@({j9jf\{v,c
    call c:\ucdos\ucdos.bat    调用ucdos+q'hk~y1R ~$c)]#m&D1u
eI1^2v'C's7X0b,]i
    echo 你好            显示"你好"
7fa5| AT5Ny(t/t*jB
P Z8A J&}/B[c$j|8\     pause              暂停,等待按键继续
{g+HEb%oLx
ZL9`a'oi|{/B     rem 使用wps           注释将使用wps
DI*\J| C[ (gQ\M&s+k
    cd ucdos            进入ucdos目录
9f4z)D%o-HZ a3j
O7q0~@RX|7[9p     wps               使用wps  .uU/q{vm~d
jT s.{X*R)Fn
  批处理文件中还可以像C语言一样使用参数,这只需用到一个参数表示符%。
s.Eb.ey hWQ5r
#N%oQ7p` N    %表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。
njj FNY&e ]5lJ)jq B
  例如,C:根目录下一批处理文件名为f.bat,内容为 format %1x,R ]'v7\

9~%Fu'JHj q&H?y   则如果执行C:\>f a:    则实际执行的是format a:CZ#p9o*qS;C
bd~\*V*v#|'Mp\(AJ
  又如C:根目录下一批处理文件的名为t.bat,内容为 type %1 type %2
5rf!N1@xb#ec X -L;TD o2_}*{*C
  那么运行C:\>t a.txt b.txt 将顺序地显示a.txt和b.txt文件的内容
.\H8`a D sjt if goto choice for 是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批处理文件的专家啦。
nKOW1Q)fr 4\:Ud`{xw
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式: N%AJ2w0UR \E
1、if "参数" == "字符串"  待执行的命令
7p%w1z S9u@$] g 参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)3m-bL$OP~?1b
如if "%1"=="a" format a:
:f??U:ZR1l{ FY|5GX'I
2、if exist 文件名  待执行的命令;T#I7kvE
如果有指定的文件,则条件成立,运行命令,否则运行下一句。如if exist config.sys edit config.sys\X U(Jo#u~ Hi

4WPR[A&WA7K3o^0} 3、if errorlevel 数字  待执行的命令
l }mf~*BW2[h 如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。如if errorlevel 2 goto x2  DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码*R.?O$pQ u| `m
Ym_+K:n$uF r
goto 批处理文件运行到这里将跳到goto 所指定的标号处, 一般与if配合使用。 如: B.C/g9j(r AH VR

7YnZ}7U e*Z goto end
:kx&T4FKF-X7Au#L
6s pf]wi2Y#^7X :end&ZW^8Ob I/Fl ]
echo this is the end(i:eE#k8Z/o
,hQ6j0KSO8e&e6z"B.{
标号用 :字符串 表示,标号所在行不被执行
\Y6ge)iF_
q]X}i n choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
:h+Bz}g7|&e
@,V*Z }6oE,a u 如: choice /cme defrag,mem,end1|n3qtG\?U
将显示hI:]+m*jjG
defrag,mem,end[D,M,E]?
R6Q*|POj5E#y
1iJ6qr8aK 例如,test.bat的内容如下:
'@,{n if_C @echo off
-A/wKqt7W!I|!Cj choice /cme defrag,mem,endU0\#z8V$W5v"P!Wx5k
if errorlevel 3 goto defrag 应先判断数值最高的错误码
'XDc ha)\1y6N4l if errorlevel 2 goto mem
5XF6K$G e:b0t if errotlevel 1 goto end
z/ntHL`%T m vPe.z&~/K8w
efrag
'Mu$OF di*Ay c:\dos\defragf@H5y:h!]NxG0O
goto end
8L6\)^B0p,ZH(dy_b&d
dh^qkb@ :mem
uQX)Ew5? mem'd"O4j-B!Y(I
goto endo"UWlj3r8t~Soi

DE/^JgU$O*o { :end
|+Z*]f,KI,x echo good bye
'fm:u8IY||&c@
iW6wb ~,y O8[-` 此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
$? R0c6Dwi1M 9t.|t d*B
for 循环命令,只要条件符合,它将多次执行同一命令。
\Mr(MU/Q9j._u o]L)H#_
格式FOR [%%f] in (集合) DO [命令]0d_C/n"N%j2Z
只要参数f在指定的集合内,则条件成立,执行命令6A2uWFl.T/~#c'r
`Au&s8Af
如果一条批处理文件中有一行:
qF7@0K%e5} for %%c in (*.bat *.txt) do type %%c cb4M6Wn8V
含义是如果是以bat或txt结尾的文件,则显示文件的内容。
'PB4UUYY5l0r/e l DOS在启动会自动运行autoexec.bat这条文件,一般我们在里面装载每次必用的程序,如: path(设置路径)、smartdrv(磁盘加速)、 mouse(鼠标启动)、mscdex(光驱连接)、 doskey(键盘管理)、set(设置环境变量)等。
tn+_\(a~
S"L-D'qT.h   如果启动盘根目录中没有这个文件,电脑会让用户输入日期和时间。+q ~UrL2x?
1aF5m1T QDq7d
  例如,一个典型的autoexec.bat内容如下:
%f\'J}U4y"n~UVNK _-| w h#e w-f"qF p
@echo off                     不显示命令行
-~gl5\ u0P{.P1b @g6b"i/D ~}H1\
prompt $p$g                    设置提示符前有目录提示
_G${I&f5o7d V"wz/C#Y%V"E
path c:\dos;c:\;c:\windows;c:\ucdos;c:\tools    设置路径
'b@G{9^ct:a5\ 3O)aB$_+e;et HO%h
lh c:\dos\doskey.com                加载键盘管理.q ?g.d+m,P.o

4_Jr P2f.lW lh c:\mouse\mouse.com               加载鼠标管理)Kvd;D:\ I

X p,P2p8e@M m lh c:\dos\smartdrv.exe               加载磁盘加速管理H4FRwN2~_*~~i
eu*|Wz:N?kN9zz
lh c:\dos\mscdex /S /D:MSCD000 /M:12 /V      加载CD-ROM驱动
*v}DT&s t D0_ H .q3Aeov)_Y ]
set temp=c:\temp                  设置临时目录/A'D@!O}[*j?{
P v[q7A9MY+U
10.for 命令
4l.wM/_8[._k:h ba*{ for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
8I9d |?m1S 在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
9[#M?L C/[&o
aPZ\'N2W8\[1o9\ for {%variable|%%variable} in (set) do command [ CommandLineOptions]
(c9W0o2G0V3v %variable 指定一个单一字母可替换的参数。
-E_x8D:nP (set) 指定一个或一组文件。可以使用通配符。 B"m*k mj A X n!o
command 指定对每个文件执行的命令。
;k9_s0x!rfC command-parameters 为特定命令指定参数或命令行开关。
Z g;ks;c5m 在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable5{ H%] c*~0So
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I$@(FY"Vl w

(u]S.VC-M{%fYuJ \e 如果命令扩展名被启用,下列额外的 FOR 命令格式会受到
S9Ki'X:f,e \rl 支持:;{a$q]h
-Ub2`^2n c9A
FOR /D %variable IN (set) DO command [command-parameters]
(m GOr_)_Y *y:wX;QG&YMv3^
如果集中包含通配符,则指定与目录名匹配,而不与文件RV5cp'V(~a"i
名匹配。7ffT|Wl^O
n9t1[C%G4]z0Ed`I"F
FOR /R [[drive:]path] %variable IN (set) DO command [command-
5P` R0i.y(| M.[m.A f:hb0w#c.k$c
检查以 [drive:]path 为根的目录树,指向每个目录中的{qr6X^0[G M
FOR 语句。如果在 /R 后没有指定目录,则使用当前
T1~%o Z]Pm.X 目录。如果集仅为一个单点(.)字符,则枚举该目录树。
_;Wzh7A/Um0U(N(|
:`2~6zJ&wZ3Ua+~K0M FOR /L %variable IN (start,step,end) DO command [command-para8b P DY9GQl
y Vj^9k u
该集表示以增量形式从开始到结束的一个数字序列。
@b)a(?$q 因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生+Ti4d KG.N
序列 (5 4 3 2 1)。
9y~2A8am+V ZA~ \*? o8r vw iP5y ?Ji
FOR /F ["options"] %variable IN (file-set) DO command3tVZ$Z s DH0C
FOR /F ["options"] %variable IN ("string") DO command"P:|1q\%pU O
FOR /F ["options"] %variable IN ('command') DO command
po|$M"rq Y _P-vE&F*\'q1}6u
或者,如果有 usebackq 选项:&Ij"xQ"WP

o$e/dQ6dB*tf,d0`2O FOR /F ["options"] %variable IN (file-set) DO commandsJ~7ODJ4mk#P
FOR /F ["options"] %variable IN ("string") DO command
qI _-B.Kh8Xe z_ FOR /F ["options"] %variable IN ('command') DO command~%yD:dWU%k4Pe

+@H0o9u$Fx filenameset 为一个或多个文件名。继续到 filenameset 中的
B2SQ]RaV.E'd 下一个文件之前,每份文件都已被打开、读取并经过处理。G1m%E^ t A-o fw
处理包括读取文件,将其分成一行行的文字,然后将每行8H ^II h%y V)|#@~0`$q
解析成零或更多的符号。然后用已找到的符号字符串变量值)ybj?lZ
调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开5x3H(V0U9@Hmu/t,j l
的第一个空白符号。跳过空白行。您可通过指定可选 "options"
x%_ IKvocW5b1g 参数替代默认解析操作。这个带引号的字符串包括一个或多个ft(\A \6L Bu;V
指定不同解析选项的关键字。这些关键字为:W`4e;fWmS&`V
}sQ/XR R
eol=c - 指一个行注释字符的结尾(就一个)4AH F,qa!jX

,EY r3u V S DOS下联网的方法e9E~/S\!P9y-Pcc
!ud!T!b/Vm3},sTl
随着计算机和网络的普及,计算机之间的联网操作(如文件的传输,聊天等)显得越来越重要了。既然DOS有这么多的用户,那么如何用它来实现联网呢?DR-DOS
2} z/g K+EpMI M 7.xx中自带联网(包括局域网和TCP协议)的功能,可是我们大家常用的MS-DOS却没有。但是,并不是没有办法,只是需要一些附加的软件。比较好的有Netware} hB8i7j#N4A
Lite 1.x和Microsoft Network Client 3.0(均可在本站的“网络工具”中下载),下面以后者为例,讲述一下局域网的实现方法。]3p!{$z xyE
首先在需要联网的计算机中安装Microsoft Network Client m {;Z#F Z6@8DV*p
3.0 (后文简称MSCLIENT),安装中输入各自的工作组,计算机名和IP地址,以及用户名和密码,并在列表中选择安装的网卡的型号。如果列表中没有您的网卡的话,则需要网卡自带的驱动程序,通常在一张软盘中,也有可能在光盘中。当它提示输入OEM盘的时候,您就插入网卡的驱动程序磁盘,然后输入合适的路径。由于各网络系统所需的网卡驱动程序并不一样,而对于MSCLIENT一般则选择驱动盘中的NDIS2或MSCLIENT文件夹,如A:\ MSCLIENT。只要正确的话,它就会进行自动安装了。至于网络协议,一般只要有NetBEUI和TCP/IP协议就够了,装太多会减慢网络的速度。安装完成后,MSCLIENT会自动将网络启动命令放入AUTOEXEC.BAT中,重新启动计算机后就会发现网络自动启动了。当系统提示输入用户名和密码时,输入刚才设置的就可以了。这时,网络就开始运转了,比如您想查看当前工作组下的所有计算机,可输入NET'[&p j0c1_2E [P
VIEW命令。 |]&bT5Er

ON`4o.z\9q 不过,这时候大家都还是客户机,还没有服务器,必须安装服务器才可以共享文件。安装后可用NETSHARE命令设置共享路径,如将D盘设为共享,如果必要的话,还可以设置密码,以免非法访问。一旦设好服务器和共享,客户机就可以访问该计算机上的资源了。比如:NET/|+VHvZ UV$S
USE E:6W2fb&J.vY#D
\\ PC\C命令就会将名称为PC的计算机上的共享名为C的驱动器(或文件夹)重定向到E盘,此时远程计算机上的内容就可以像本地计算机那样访问了。不过还有一点很重要,那就是要将MSCLIENT的文件和打印机的共享功能的设置打开,方法是用EDIT等文本编辑器打开MSCLIENT文件夹中的 SYSTEM.INI,将[network]项中的filesharing和printsharing的值全部改为yes,保存并退出后就可以使用文件和打印机的共享功能了。
H+[}w(P x 如果想将使用DOS和使用Windows的计算机相联,也是完全可以的。由于Windows 3.11 for Workgroups,Windows
|QGLH)JX 9x以及Windows NT/2K/XP中采用的是一种叫做“Microsoft Windows Network”的网络,和DOS下的Microsoft
^"`2XLj3f*i Network Client-VhG x}OPP
3.0是兼容的,所以它们之间可以实现非常完好的互相访问,就像DOS与DOS之间,或Windows与Windows之间的网络一样。不过要注意的是,若想要使用DOS的计算机访问使用Windows3Df IKeft#p!bk
NT/2K/XP的计算机,则一定要在Windows NT/2K/XP中设置DOS计算机的用户帐户,否则无法访问。Z-A P9cJ1[h
Microsoft Network Client 3.0中有许多非常实用的命令,如PING等,如果您想知道这些命令及其用法,请见“DOS文章”栏目。
`G [J0sgY 除了使用MSCLIENT以外,还可以使用Netware等工具联网。以NetwareGVj,e u ax
Lite为例,安装完后直接执行STARTNET.BAT即可自动调入对等网(包括服务器)。这时可用它自带的NET命令进行全屏幕的网络管理,也可以用命令行方式,比如NET
P2iJt^G MAP 命令可重定向到对方的计算机(当然需先设置共享)。更简单的方法是,在加载了IPX协议(IPXODI.COM)后,直接利用IPXCOPY.EXE命令(可在“DOS软件”中下载)进行文件传输,而不用启动服务器。方法是在一台计算机中用IPXCOPY命令启动接收器,在另一台计算机上用 “IPXCOPY
'WR"L S'wn 文件名”命令进行传输,其中文件名可为通配符,也可用/S选项以指定包括子文件夹中的文件。当然还有其它的方法,这儿就不再介绍了。&^ n J$xma

+AJ)G`w 以上谈的是局域网的联接方法,下面谈谈上Internet的方法。通常上网有两种方式,一种是拨号上网,即通过调制解调器,另一种是通过网卡。因此,上网的方法也有两种。不过共同点,就是它们都需要一个网络浏览器。DOS下最好的图形方式的浏览器是ARACHNE,功能十分强大,可在本站上下载。使用它进行拨号上网需要一个支持DOS的调制解调器(包括硬件的调制解制解调器或带有DOS驱动程序的软件调制解调器,也可以在Win9x的DOS窗口中使用),选择设置屏幕中的“使用Modem上网”后,Arachne会对调制解调器每个可能所在的端口进行检测,只要成功检测到一个就可以使用了。然后输入正确的电话号码,用户名及密码,就可以进行拨号了。如果是通过网卡上网的话则需要此网卡的Packet驱动程序,注意必须安装在地址0x60上,例如对于 NE2000网卡可在DOS提示符下用NE2000N e6hJ?'RD.@.@:Yn
0x60命令进行安装。在ARACHNE中的设置屏幕中选择“使用网卡上网”,并选择DHCP自动配置,只要网络正常的话,就可以查看网页了。关于ARACHNE浏览器的具体使用方法,可见“DOS文章”栏目。
:dHY o D\(g O\9fr2s}
当然,DOS下真正联接到Internet还有许多种方法,如使用拨号适配器驱动程序(如DOSPPP),或者安装了网卡的Packet驱动程序后,用WATTCP程序(如WGET,Lynx)等都可以实现网上资料的读取。要想使用电子邮件,用Barebonesq,? FG;l Gy9TA2bU
E-mail等程序就可以轻易实现收发电子邮件(需知道邮箱的POP3及SMTP服务器地址)。DOS下有关网络的程序很多,这里就不再详述了。
R7p`.nk'd(Z-}
{hqL ^`7p-{ DOS未公开命令与参数'MhU)MY,Kw

j9]6S)[4~,t DOS系统中有许多未公开的命令与参数。由于DOS的种类很多,所以下面仅以MS-DOS为例,介绍一下常用命令中的未公开的命令与参数。4`o1?M zj0F,Mf
DOS未公开命令:
~N\\D TRUENAME:用于显示实际的路径,对SUBST等命令很有用。
1}-NP'S?&{O l INSTALLHIGH:用在CONFIG.SYS中,将文件调入UMB。3A+]2x_6D#a Gv7B9h/p m
LOGO和COMMENT:仅用在DOS7中的CONFIG.SYS中,用法未知。
{L%\R/WF0O:Z{ DOS未公开参数:
w]O1]VNw COMMAND /F 使Fail作为Abort,Retry,Fail中的默认选项。
QMP VLAR&q} COMMAND /D 在DOS5中是禁止AUTOEXEC.BAT自动执行;在6.0+版本中是禁止/F参数。cWH4My
COMMAND /Z 显示ERRORLEVEL(错误返回代码)信息。
R$h~5`u COMMAND /T 在DOS7.x中强制将COMMAND.COM永久性调入常规内存。F3q A\3b
FORMAT /AUTOTEST 自动完成格式化过程。
V sp Zp;qm)lg FORMAT /BACKUP 自动完成格式化过程,并提示输入卷标。
2Lzd"^,[W7g\(Z FORMAT /SELECT 只在磁盘上备份系统区数据,相当于MIRROR程序。g,ROE-u^y
FORMAT /SELECT /U 将引导区和文件分配表用F6H填之。
A(E+c3U o~v%|1e3F&N/?| FORMAT /Z:n 设置FAT32分区上的簇大小。#bo+z5P#U9s4_
FDISK /MBR 重写硬盘主引导记录。
P9t xrBztF#H1O FDISK /CMBR drive 重写指定驱动器上的主引导记录。
jO1kfG_7Z FDISK /PRI:size 创建主分区。aa v-dK/R!C
FDISK /EXT:size 创建扩展分区。
I3a0qs@)_!y+C FDISK /LOG:size 在扩展分区上创建逻辑驱动器。Ud2cv)I4V
FDISK /PRMT|/Q 提示行动/安静模式。NmxF%n VTD
FDISK /PARTN 将分区表信息保存到PARTSAV.FIL中。
2[5vwad)Ra FDISK /ACTOK 用于DOS7中,跳过完整性测试。8R Dn Z%eBI:W
FDISK /FPRMT 用于DOS7中,自动采用FAT32,并跳过提示信息。
9^R1~ LL9i?*H DOSKEY /APPEDIT 使DOSKEY也应用于其它程序(如DEBUG等)中。
y6_(b*Q-OK J DOSKEY /COMMAND和/PERMANENT和/SCRSIZE和/XHISTORY 用法未知。
YN9M%P];^n;[ SCANDISK /CLIP 用于DOS7中,将长文件名剪为短文件名。K"P3jWc
SCANDISK /NOLOST 用于DOS7中,不提示表面测试或丢失簇。9t:kx)W-F[0q6u
SCANDISK /NOUI和/TEXT 用于DOS7中,使用标准的DOS界面。
u7KUtS3H`h`0G z(g SCANDISK /MOUNT 相当于SCANDISK.INI中的Mount=Always。7M\ CD i.x6i
SCANDISK /TIME 相当于SCANDISK.INI中的ScanTimeOut=On。
.PP8\7Lx MEM /A或MEM /ALL 显示HMA信息。
j8c~,G qv\ VER /R 显示扩展的版本信息。
b c&uo7\:d7G?G YA(v DIR /Z 用于DOS7中,不显示长文件名。}Vx7G!M&DN)y.vB
DOS=SINGLE 用在DOS7中的CONFIG.SYS中,启动单一模式的DOS。
cXi s@ Kp DEVICE=HIMEM.SYS /Q 安静模式。
N }.g9L8_y+u2W6R(E DEVICE=EMM386.EXE NOTR 不要检测Token Ring网络适配器。5^;UIQC @|7t1X%F^
以上是MS-DOS中的未公开命令与参数,其中有些是比较实用的,大家不妨一试。

偷心的贼 发表于 2008-6-29 11:50

可不可以希望你弄个电子书吧他集合起来啊 ,这样看 很费劲的jT f2X+n
不过我最近想学学这个

wudi3344er 发表于 2008-6-29 14:12

内容很详细 很好

舊恨心魔 发表于 2008-7-12 18:04

[$18] 顶

kemit 发表于 2008-7-13 02:45

看来要花些时间才能看完,要弄懂,恐怕时间更长

[末]小鱼 发表于 2008-7-17 09:59

听好几个人都说过DOS无敌,先顶了

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.