dos命令全集 DOS命令全集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 C:、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〈盘符:〉[/S][/4][/Q] 4.使用说明: (1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:WARNING:ALL DATA ON NON ——REMOVABLE DISK DRIVE C:WILL BE LOST ! Proceed with Format (Y/N)? (警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?) (2)若是对软盘进行格式化,则会如下提示:Insert mew diskette 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.类型:外部命令 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][——S][/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参数时,显示出简明的系统报告。 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在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中的未公开命令与参数,其中有些是比较实用的,大家不妨一试。 |