用户
 找回密码
 立即注册
搜索

DOS全部解析

[复制链接]
发表于 2009-7-23 16:03:41
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命令就行了。但如果您是想完成一些更复杂的操作,就需要以上的批处理命令或上述的批处理工具了。
使用道具 举报 回复 支持 反对
发表于 2009-7-23 16:03:52
以下是我原来所编的一个从1%慢慢增加到100%的批处理小程序,大家可以用作参考,以编写自己的程序。
@echo off
break off
cls
set c=0
writext 10 1 Wait...
be delay 4
:loop
writext 10 9 %c%%%
使用道具 举报 回复 支持 反对
发表于 2009-7-23 16:04:04
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的功能变化。
使用道具 举报 回复 支持 反对
发表于 2009-7-23 16:04:14
◆命令: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参数。
使用道具 举报 回复 支持 反对
发表于 2009-7-23 16:04:25
◆命令: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”。
使用道具 举报 回复 支持 反对
发表于 2009-7-23 16:04:36
◆命令: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 命令行开关,除了改变驱动器的当前目录之外,
还可改变当前驱动器。
使用道具 举报 回复 支持 反对
发表于 2009-7-23 16:04:50
如果扩展命令名被启用,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
指定要比较的第二个文件或第二个文件集。
使用道具 举报 回复 支持 反对
发表于 2009-7-23 16:05:01
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。
使用道具 举报 回复 支持 反对
发表于 2009-7-23 16:05:14
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 用重新启动模式复制网络文件。
使用道具 举报 回复 支持 反对
发表于 2009-7-23 16:05:23
使用批处理文件--常用命令

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
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则