CMD命令速查手册

CMD命令速查手册

ASSOC显示或修改文件扩展名关联。

AT计划在计算机上运行的命令和程序。

ATTRIB显示或更改文件属性。

BREAK设置或清除扩展式CTRL+C检查。

CACLS显示或修改文件的访问控制列表(ACLs)。

CALL从另一个批处理程序调用这一个。

CD显示当前目录的名称或将其更改。

CHCP显示或设置活动代码页数。

CHDIR显示当前目录的名称或将其更改。

CHKDSK检查磁盘并显示状态报告。

CHKNTFS显示或修改启动时间磁盘检查。

CLS清除屏幕。

CMD打开另一个Windows命令解释程序窗口。

COLOR设置默认控制台前景和背景颜色。

COMP比较两个或两套文件的内容。

COMPACT显示或更改NTFS分区上文件的压缩。

CONVERT将FAT卷转换成NTFS。您不能转换当前驱动器。

COPY将至少一个文件复制到另一个位置。

DATE显示或设置日期。

DEL删除至少一个文件。

DIR显示一个目录中的文件和子目录。

DISKCOMP比较两个软盘的内容。

DISKCOPY将一个软盘的内容复制到另一个软盘。

DOSKEY编辑命令行、调用Windows命令并创建宏。

ECHO显示消息,或将命令回显打开或关上。

ENDLOCAL结束批文件中环境更改的本地化。

ERASE删除至少一个文件。

EXIT退出CMD.EXE程序(命令解释程序)。

FC比较两个或两套文件,并显示不同处。

FIND在文件中搜索文字字符串。

FINDSTR在文件中搜索字符串。

FOR为一套文件中的每个文件运行一个指定的命令。

FORMAT格式化磁盘,以便跟Windows使用。

FTYPE显示或修改用于文件扩展名关联的文件类型。

GOTO将Windows命令解释程序指向批处理程序中某个标明的行。

GRAFTABL启用Windows来以图像模式显示扩展字符集。

HELP提供Windows命令的帮助信息。

IF执行批处理程序中的条件性处理。

LABEL创建、更改或删除磁盘的卷标。

MD创建目录。

MKDIR创建目录。

MODE配置系统设备。

MORE一次显示一个结果屏幕。

MOVE将文件从一个目录移到另一个目录。

PATH显示或设置可执行文件的搜索路径。

PAUSE暂停批文件的处理并显示消息。

POPD还原PUSHD保存的当前目录的上一个值。

PRINT打印文本文件。

PROMPT更改Windows命令提示符。

PUSHD保存当前目录,然后对其进行更改。

RD删除目录。

RECOVER从有问题的磁盘恢复可读信息。

REM记录批文件或CONFIG.SYS中的注释。

REN重命名文件。

RENAME重命名文件。

REPLACE替换文件。

RMDIR删除目录。

SET显示、设置或删除Windows环境变量。

SETLOCAL开始批文件中环境更改的本地化。

SHIFT更换批文件中可替换参数的位置。

SORT对输入进行分类。

START启动另一个窗口来运行指定的程序或命令。

SUBST将路径跟一个驱动器号关联。

TIME显示或设置系统时间。

TITLE设置CMD.EXE会话的窗口标题。

TREE以图形模式显示驱动器或路径的目录结构。

TYPE显示文本文件的内容。

VER显示Windows版本。

VERIFY告诉Windows是否验证文件是否已正确写入磁盘。VOL显示磁盘卷标和序列号。

XCOPY复制文件和目录树。

返回页首

ASSOC

显示或修改文件扩展名关联

ASSOC[.ext[=[fileType]]]

.ext指定跟文件类型关联的文件扩展名

fileType指定跟文件扩展名关联的文件类型

键入ASSOC而不带参数,显示当前文件关联。如果只用文件扩展

名调用ASSOC,则显示那个文件扩展名的当前文件关联。如果不为

文件类型指定任何参数,命令会删除文件扩展名的关联。

返回页首

AT

AT命令安排在特定日期和时间运行命令和程序。

要使用AT命令,计划服务必须已在运行中。

AT[\\computername][[id][/DELETE]|/DELETE[/YES]]

AT[\\computername]time[/INTERACTIVE]

[/EVERY:date[,...]|/NEXT:date[,...]]"command"

\\computername指定远程计算机。如果省略这个参数,

会计划在本地计算机上运行命令。

id指定给已计划命令的识别号。

/delete删除某个已计划的命令。如果省略id,

计算机上所有已计划的命令都会被删除。

/yes不需要进一步确认时,跟删除所有作业

的命令一起使用。

time指定运行命令的时间。

/interactive允许作业在运行时,与当时登录的用户

桌面进行交互。

/every:date[,...]每个月或每个星期在指定的日期运行命

令。如果省略日期,则默认为在每月的

本日运行。

/next:date[,...]指定在下一个指定日期(如,下周四)运

行命令。如果省略日期,则默认为在每

月的本日运行。

"command"准备运行的Windows NT命令或批处理

程序。

返回页首

ATTRIB

显示或更改文件属性。

ATTRIB[+R|-R][+A|-A][+S|-S][+H|-H][[drive:][path]filename][/S[/D]]

+设置属性。

-清除属性。

R只读文件属性。

A存档文件属性。

S系统文件属性。

H隐藏文件属性。

[drive:][path][filename]

指定要处理的文件属性。

/S处理当前文件夹及其子文件夹中的匹配文件。

/D也处理文件夹。

返回页首

BREAK

设置或清除DOS系统的扩展CTRL+C检测

这个命令是为了与DOS系统的兼容而保留的,在Windows XP

里不起作用。

如果命令扩展名被启用,并且操作平台是Windows XP,

BREAK命令会在被调试程序调试时输入一个硬代码中断点。

返回页首

CACLS

显示或者修改文件的访问控制表(ACL)

CACLS filename[/T][/E][/C][/G user:perm][/R user[...]]

[/P user:perm[...]][/D user[...]]

filename显示ACL。

/T更改当前目录及其所有子目录中

指定文件的ACL。

/E编辑ACL而不替换。

/C在出现拒绝访问错误时继续。

/G user:perm赋予指定用户访问权限。

Perm可以是:R读取

W写入

C更改(写入)

F完全控制

/R user撤销指定用户的访问权限(仅在与/E一起使用时合法)。

/P user:perm替换指定用户的访问权限。

Perm可以是:N无

R读取

W写入

C更改(写入)

F完全控制

/D user拒绝指定用户的访问。

在命令中可以使用通配符指定多个文件。

也可以在命令中指定多个用户。

缩写:

CI-容器继承。

ACE会由目录继承。

OI-对象继承。

ACE会由文件继承。

IO-只继承。

ACE不适用于当前文件/目录。

返回页首

CALL

从批处理程序调用另一个批处理程序。

CALL[drive:][path]filename[batch-parameters]

batch-parameters指定批处理程序所需的命令行信息。

如果命令扩展名被启用,CALL会如下改变:

CALL命令现在将卷标当作CALL的目标接受。语法是:

CALL:label arguments

一个新的批文件上下文由指定的参数所创建,控制在卷标被指定

后传递到语句。您必须通过达到批脚本文件末两次来"exit"两次。

第一次读到文件末时,控制会回到CALL语句的紧后面。第二次

会退出批脚本。键入GOTO/?,参看GOTO:EOF扩展名的描述,此描述允许您从一个批脚本返回。

另外,批脚本文本参数参照(%0、%1、等等)已如下改变:

批脚本里的%*指出所有的参数(如%1%2%3%4%5...)

批参数(%n)的替代已被增强。您可以使用以下语法:

%~1-删除引号("),扩充%1

%~f1-将%1扩充到一个完全合格的路径名

%~d1-仅将%1扩充到一个驱动器号

%~p1-仅将%1扩充到一个路径

%~n1-仅将%1扩充到一个文件名

%~x1-仅将%1扩充到一个文件扩展名

%~s1-扩充的路径指含有短名

%~a1-将%1扩充到文件属性

%~t1-将%1扩充到文件的日期/时间

%~z1-将%1扩充到文件的大小

%~$PATH:1-查找列在PATH环境变量的目录,并将%1

扩充到找到的第一个完全合格的名称。如果环境

变量名未被定义,或者没有找到文件,此组合键会

扩充到空字符串

可以组合修定符来取得多重结果:

%~dp1-只将%1扩展到驱动器号和路径

%~nx1-只将%1扩展到文件名和扩展名

%~dp$PATH:1-在列在PATH环境变量中的目录里查找%1,

并扩展到找到的第一个文件的驱动器号和路径。

%~ftza1-将%1扩展到类似DIR的输出行。

在上面的例子中,%1和PATH可以被其他有效数值替换。

%~语法被一个有效参数号码终止。%~修定符不能跟%*

使用

返回页首

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"

在扩展功能停用的情况下,您必须键入以上命令。

返回页首

CHCP

显示或设置活动代码页编号。

CHCP[nnn]

nnn指定代码页编号。

不加参数键入CHCP显示活动代码页编号。

返回页首

CHDIR

显示当前目录名或改变当前目录。

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"

在扩展功能停用的情况下,您必须键入以上命令。

返回页首

CHKDSK

检查磁盘并显示状态报告。

CHKDSK[volume[[path]filename]]][/F][/V][/R][/X][/I][/C][/L[:size]]

volume指定驱动器(后面跟一个冒号)、装入点

或卷名。

filename仅用于FAT/FAT32:指定要检查是否有碎片的文件。

/F修复磁盘上的错误。

/V在FAT/FAT32上:显示磁盘上每个文件的完整路径和名称。

在NTFS上:如果有清除消息,将其显示。

/R查找不正确的扇区并恢复可读信息(隐含/F)。

/L:size仅用于NTFS:将日志文件大小改成指定的KB数。

如果没有指定大小,则显示当前的大小。

/X如果必要,强制卷先卸下。

卷的所有打开的句柄就会无效(隐含/F)。

/I仅用于NTFS:对索引项进行强度较小的检查。

/C仅用于NTFS:跳过文件夹结构的循环检查。

/I和/C命令行开关跳过卷的某些检查,减少运行Chkdsk所需的时间。

返回页首

CHKNTFS

在启动时显示或修改磁盘检查。

CHKNTFS volume[...]

CHKNTFS/D

CHKNTFS/T[:time]\r\nCHKNTFS/X volume[...]

CHKNTFS/C volume[...]

volume:指定驱动器(后面跟一个冒号)、装入点

或卷名。

/D将计算机恢复成默认状态,启动时检查所有驱动器,

并对有问题的驱动器执行chkdsk命令。

/T:time将AUTOCHK初始递减计数时间改成指定的

时间量,单位为秒数。如果没有指定

时间,则显示当前设置。

/X排除启动时不作检查的驱动器。上次执行此命令

排除的驱动器此时无效。

/C安排启动时检查驱动器,如果驱动器有问题,运行chkdsk。如果没有指定命令行开关,CHKNTFS会显示每一驱动器有问题的位的状态。返回页首

CLS

清除屏幕。

CLS

返回页首

CMD

启动Windows XP命令解释程序一个新的实例

CMD[/A|/U][/Q][/D][/E:ON|/E:OFF][/F:ON|/F:OFF][/V:ON|/V:OFF] [[/S][/C|/K]string]

/C执行字符串指定的命令然后终断

/K执行字符串指定的命令但保留

/S在/C或/K后修改字符串处理(见下)

/Q关闭回应

/D从注册表中停用执行AutoRun命令(见下)

/A使向内部管道或文件命令的输出成为ANSI

/U使向内部管道或文件命令的输出成为Unicode

/T:fg设置前景/背景颜色(详细信息,请见COLOR/?)

/E:ON启用命令扩展(见下)

/E:OFF停用命令扩展(见下)

/F:ON启用文件和目录名称完成字符(见下)

/F:OFF停用文件和目录名称完成字符(见下)

/V:ON将/V:ON会

允许在执行时允许扩展变量var。var语法

在输入时扩展变量,这与在一个FOR循环内不同。

/V:OFF停用延缓的环境扩展。

请注意,如果字符串有引号,可以接受用命令分隔符'&&'隔开

的多个命令。并且,由于兼容原因,/X与/E:ON相同,/Y与

/E:OFF相同,并且/R与/C相同。忽略任何其他命令行开关。

如果指定了/C或/K,命令行开关后的命令行其余部分将作为命令行处

理;在这种情况下,会使用下列逻辑处理引号字符("):

1.如果符合下列所有条件,那么在命令行上的引号字符将被

保留:

-不带/S命令行开关

-整整两个引号字符

-在两个引号字符之间没有特殊字符,特殊字符为下列中的

一个:<>()@^|

-在两个引号字符之间有至少一个空白字符

-在两个引号字符之间有至少一个可执行文件的名称。

2.否则,老办法是,看第一个字符是否是一个引号字符,如果

是,舍去开头的字符并删除命令行上的最后一个引号字符,

保留最后一个引号字符之后的文字。

如果/D未在命令行上被指定,当CMD.EXE开始时,它会寻找

以下REG_SZ/REG_EXPAND_SZ注册表变量。如果其中一个或

两个都存在,这两个变量会先被执行。

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun 和/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

命令扩展是按默认值启用的。您也可以使用/E:OFF,为某一

特定调用而停用扩展。您可以在机器上和/或用户登录会话上

启用或停用CMD.EXE所有调用的扩展,这要通过设置使用

REGEDT32.EXE的注册表中的一个或两个REG_DWORD值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions 和/或

到0x1或0x0。用户特定设置比机器设置有优先权。命令行

开关比注册表设置有优先权。

命令行扩展包括对下列命令所做的更改和/或添加:

DEL或ERASE

COLOR

CD或CHDIR

MD或MKDIR

PROMPT

PUSHD

POPD

SET

SETLOCAL

ENDLOCAL

IF

FOR

CALL

SHIFT

GOTO

START(同时包括对外部命令调用所做的更改)

ASSOC

FTYPE

有关详细信息,请键入HELP命令名。

延迟变量环境扩展不按默认值启用。您可以用/V:ON或/V:OFF

命令行开关,为CMD.EXE的某个调用而启用或停用延迟环境变量扩充。

您可以在机器上和/或用户登录会话上启用或停用CMD.EXE所有

调用的完成,这要通过设置使用REGEDT32.EXE的注册表中的

一个或两个REG_DWORD值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion 和/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion

到0x1或0x0。用户特定设置比机器设置有优先权。命令行开关

比注册表设置有优先权。

如果延迟环境变量扩充被启用,惊叹号字符可在执行时间,被用来

代替一个环境变量的数值。

文件和目录名完成不按默认值启用。您可以用/F:ON或/F:OFF

命令行开关,为CMD.EXE的某个调用而启用或停用文件名完成。您可以

在机器上和/或用户登录会话上启用或停用CMD.EXE所有调用的

完成,这要通过设置使用REGEDT32.EXE的注册表中的一个或两个

REG_DWORD值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar 和/或

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar

由一个控制字符的十六进制值作为一个特定参数(例如,0x4是

Ctrl-D,0x6是Ctrl-F)。用户特定设置优先于机器设置。命令行开关

优先于注册表设置。

如果完成是用/F:ON命令行开关启用的,两个要使用的控制符是:目录名字完成用Ctrl-D,文件名完成用Ctrl-F。要停用注册表中的某个

字符,请用空格(0x20)的数值,因为此字符不是控制字符。

如果键入两个控制字符中的一个,完成会被调用。完成功能将

路径字符串带到光标的左边,如果没有通配符,将通配符附加

到左边,并建立相符的路径列表。然后,显示第一个相符的路

径。如果没有相符的路径,则发出嘟嘟声,不影响显示。之后,

重复按同一个控制字符会循环显示相符路径的列表。将Shift键

跟控制字符同时按下,会倒着显示列表。如果对该行进行了任

何编辑,并再次按下控制字符,保存的相符路径的列表会被丢弃,

新的会被生成。如果在文件和目录名完成之间切换,会发生

同样现象。两个控制字符之间的唯一区别是文件完成字符符合

文件和目录名,而目录完成字符只符合目录名。如果文件完成

被用于内置式目录命令(CD、MD或RD),就会使用目录完成。

将引号将相符路径括起来,完成代码可以正确处理含有空格

或其他特殊字符的文件名。同时,如果备份,然后从行内调用

文件完成,完成被调用是位于光标右方的文字会被丢弃。

需要引号的特殊字符是:

&()[]{}=;'+,`~

返回页首

COLOR

设置默认的控制台前景和背景颜色。

COLOR[attr]

attr指定控制台输出的颜色属性

颜色属性由两个十六进制数字指定--第一个为背景,第二个则为

前景。每个数字可以为以下任何值之一:

0=黑色8=灰色

1=蓝色9=淡蓝色

2=绿色A=淡绿色

3=湖蓝色B=淡浅绿色

4=红色C=淡红色

5=紫色D=淡紫色

6=黄色E=淡黄色

7=白色F=亮白色

如果没有给定任何参数,该命令会将颜色还原到CMD.EXE启动时

的颜色。这个值来自当前控制台窗口、/T开关或

DefaultColor注册表值。

如果用相同的前景和背景颜色来执行COLOR命令,COLOR命令

会将ERRORLEVEL设置为1。

例如:"COLOR fc"在亮白色上产生亮红色

返回页首

COMP

比较两个文件或两个文件集的内容。

COMP[data1][data2][/D][/A][/L][/N=number][/C][/OFF[LINE]]

data1指定要比较的第一个文件的位置和名称。

data2指定要比较的第二个文件的位置和名称。

/D用十进制格式显示不同处。

/A用ASCII字符显示不同处。

/L显示不同的行数。

/N=number只比较每个文件中第一个指定的行数。

/C比较文件时不分ASCII字母的大小写。

/OFF[LINE]不要跳过带有脱机属性集的文件。

要比较文件集,在data1和data2参数中使用通配符。

返回页首

COMPACT

显示或改变NTFS分区上文件的压缩.

COMPACT[/C|/U][/S[:dir]][/A][/I][/F][/Q][filename[...]]

/C压缩指定的文件。会给目录作标记,这样以后添加的文件会得到压缩。

/U解压缩指定的文件。会给目录作标记,这样以后添加的文件不会得到压缩。

/S在指定的目录和所有子目录中的文件上执行指定操作。

默认"dir"是当前目录。

/A显示具有隐藏或系统属性的文件。在默认

情况下,这些文件都是被忽略的。

/I即使在错误发生后,依然继续执行指定的操作。在默认情况下,COMPACT在遇到错误时会停止。

/F在所有

返回页首

CONVERT

将FAT卷转换成NTFS。

CONVERT volume/FS:NTFS[/V][/CvtArea:filename][/NoSecurity][/X]

volume指定驱动器号(后面跟一个冒号)、

装载点或卷名。

/FS:NTFS指定要被转换成NTFS的卷。

/V指定Convert应该用详述模式运行。

/CvtArea:filename

将根目录中的一个接续文件指定为

NTFS系统文件的占位符。

/NoSecurity指定每个人都可以访问转换的文件

和目录的安全设置。

/X如果必要,先强行卸载卷。

该卷的所有打开的句柄则无效。

返回页首

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指定同样的驱动器。

返回页首

DOSKEY

编辑命令行,重调用Windows XP命令,并创建宏。

DOSKEY[/REINSTALL][/LISTSIZE=size][/MACROS[:ALL|:exename]]

[/HISTORY][/INSERT|/OVERSTRIKE][/EXENAME=exename][/MACROFILE=filename] [macroname=[text]]

/REINSTALL安装一组新的Doskey。

/LISTSIZE=size设置命令历史记录的缓冲区大小。

/MACROS显示所有Doskey宏。

/MACROS:ALL为具有Doskey宏的执行文件,显示所有的

Doskey宏。

/MACROS:exename显示指定执行文件的所有Doskey宏。/HISTORY显示保存在内存中的所有命令。

/INSERT指定用键入的新文字插入旧文字中。

/OVERSTRIKE指定新文字改写旧文字。

/EXENAME=exename指定执行文件。

/MACROFILE=filename指定安装的宏文件。

macroname指定所创建宏的名称。

text指定要登记的命令。

使用上下箭头键选择命令;ESC清除命令行;F7显示

命令历史记录;ALT+F7清除命令历史记录;F8搜索命令

历史记录;F9按编号选择命令;ALT+F10清除宏定义。

以下是Doskey宏定义的特殊码:

$T命令分隔符号。允许一个宏可以含多个命令。

$1-$9批处理参数。与批处理程序中的%1-%9相同。

$*以命令行中命令名称后面的任何内容替换的符号。

返回页首

ECHO

显示信息,或将命令回显打开或关上。

ECHO[ON|OFF]

ECHO[message]

要显示当前回显设置,键入不带参数的ECHO。

返回页首

ENDLOCAL

结束批处理文件中环境改动的本地化操作。在执行ENDLOCAL之后所做的环境改动不再仅限于批处理文件。批处理文件结束后,

原先的设置无法还原。

ENDLOCAL

如果命令扩展名被启用,ENDLOCAL会如下改变:

如果相应的SETLOCAL用新的ENABLEEXTENSIONS或DISABLEEXTENSIONS选项启用或停用了命令扩展名,那么,在

ENDLOCAL之后,命令扩展名的启用/停用状态会还原到执行

相应的SETLOCAL命令前的状态。

返回页首

ERASE

删除一个或数个文件。

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开关的显示句法会颠倒,即只显示已经

删除的文件,而不显示找不到的文件。

返回页首

EXIT

退出CMD.EXE程序(命令翻译程序)或当前批处理脚本。

EXIT[/B][exitCode]

/B指定要退出当前批处理脚本而不是CMD.EXE。如果从一个批处理脚本外执行,则会退出CMD.EXE

exitCode指定一个数字号码。如果指定了/B,将ERRORLEVEL

设成那个数字。如果退出CMD.EXE,则用那个数字设置

过程退出代码。

返回页首

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将搜索键入的或者由另一命令产生的文字。返回页首

FINDSTR

在文件中寻找字符串。

FINDSTR[/B][/E][/L][/R][/S][/I][/X][/V][/N][/M][/O][/F:file] [/C:string][/G:file][/D:dir list][/A:color attributes][/OFF[LINE]]

strings[[drive:][path]filename[...]]

/B在一行的开始配对模式。

/E在一行的结尾配对模式。

/L按字使用搜索字符串。

/R将搜索字符串作为一般表达式使用。

/S在当前目录和所有子目录中搜索

匹配文件。

/I指定搜索不分大小写。

/X打印完全匹配的行。

/V只打印不包含匹配的行。

/N在匹配的每行前打印行数。

/M如果文件含有匹配项,只打印其文件名。

/O在每个匹配行前打印字符偏移量。

/P忽略有不可打印字符的文件。

/OFF[LINE]不跳过带有脱机属性集的文件。

/A:attr指定有十六进位数字的颜色属性。请见"color/?"

/F:file从指定文件读文件列表(/代表控制台)。

/C:string使用指定字符串作为文字搜索字符串。

/G:file从指定的文件获得搜索字符串。(/代表控制台)。

/D:dir查找以分号为分隔符的目录列表

strings要查找的文字。

[drive:][path]filename

指定要查找的文件。

除非参数有/C前缀,请使用空格隔开搜索字符串。

例如:'FINDSTR"hello there"x.y'在文件x.y中寻找"hello"或"there"。'FINDSTR/C:"hello there"x.y'文件x.y寻找

"hello there"。

一般表达式的快速参考:

.通配符:任何字符

*重复:以前字符或类别出现零或零以上次数

^行位置:行的开始

$行位置:行的终点

[class]字符类别:任何在字符集中的字符

[^class]补字符类别:任何不在字符集中的字符

[x-y]范围:在指定范围内的任何字符

\x Escape:元字符x的文字用法

\字位置:字的结束

有关FINDSTR常见表达法的详细情况,请见联机命令参考。

返回页首

FOR

对一组文件中的每一个文件执行某个特定命令。

FOR%variable IN(set)DO command[command-parameters]

%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-parameters]

检查以[drive:]path为根的目录树,指向每个目录中的

FOR语句。如果在/R后没有指定目录,则使用当前

目录。如果集仅为一个单点(.)字符,则枚举该目录树。

FOR/L%variable IN(start,step,end)DO command[command-parameters]

该集表示以增量形式从开始到结束的一个数字序列。

因此,(1,1,5)将产生序列12345,(5,-1,1)将产生

序列(54321)。

FOR/F["options"]%variable IN(file-set)DO command[command-parameters] FOR/F["options"]%variable IN("string")DO command[command-parameters] FOR/F["options"]%variable IN('command')DO command[command-parameters]

或者,如果有usebackq选项:

FOR/F["options"]%variable IN(file-set)DO command[command-parameters] FOR/F["options"]%variable IN("string")DO command[command-parameters] FOR/F["options"]%variable IN('command')DO command[command-parameters]

filenameset为一个或多个文件名。继续到filenameset中的

下一个文件之前,每份文件都已被打开、读取并经过处理。

处理包括读取文件,将其分成一行行的文字,然后将每行

解析成零或更多的符号。然后用已找到的符号字符串变量值

调用For循环。以默认方式,/F通过每个文件的每一行中分开

的第一个空白符号。跳过空白行。您可通过指定可选"options"

参数替代默认解析操作。这个带引号的字符串包括一个或多个

指定不同解析选项的关键字。这些关键字为:

eol=c-指一个行注释字符的结尾(就一个)

skip=n-指在文件开始时忽略的行数。

delims=xxx-指分隔符集。这个替换了空格和跳格键的

默认分隔符集。

tokens=x,y,m-n-指每行的哪一个符号被传递到每个迭代

的for本身。这会导致额外变量名称的分配。m-n

格式为一个范围。通过nth符号指定mth。如果

符号字符串中的最后一个字符星号,

那么额外的变量将在最后一个符号解析之后

分配并接受行的保留文本。

usebackq-指定新语法已在下类情况中使用:

在作为命令执行一个后引号的字符串并且一个单

引号字符为文字字符串命令并允许在filenameset

中使用双引号扩起文件名称。

某些范例可能有助:

FOR/F"eol=;tokens=2,3*delims=,"%i in(myfile.txt)do@echo%i%j%k

会分析myfile.txt中的每一行,忽略以分号打头的那些行,将

每行中的第二个和第三个符号传递给for程序体;用逗号和/或

空格定界符号。请注意,这个for程序体的语句引用%i来

取得第二个符号,引用%j来取得第三个符号,引用%k

来取得第三个符号后的所有剩余符号。对于带有空格的文件

名,您需要用双引号将文件名括起来。为了用这种方式来使

用双引号,您还需要使用usebackq选项,否则,双引号会

被理解成是用作定义某个要分析的字符串的。

%i专门在for语句中得到说明,%j和%k是通过

tokens=选项专门得到说明的。您可以通过tokens=一行

指定最多26个符号,只要不试图说明一个高于字母'z'或

'Z'的变量。请记住,FOR变量是单一字母、分大小写和全局的;而且,同时不能有52个以上都在使用中。

您还可以在相邻字符串上使用FOR/F分析逻辑;方法是,

用单引号将括号之间的filenameset括起来。这样,该字符

串会被当作一个文件中的一个单一输入行。

最后,您可以用FOR/F命令来分析命令的输出。方法是,将

括号之间的filenameset变成一个反括字符串。该字符串会

被当作命令行,传递到一个子CMD.EXE,其输出会被抓进

内存,并被当作文件分析。因此,以下例子:

FOR/F"usebackq delims=="%i IN(`set`)DO@echo%i

会枚举当前环境中的环境变量名称。

另外,FOR变量参照的替换已被增强。您现在可以使用下列

选项语法:

~I-删除任何引号("),扩充%I

%~fI-将%I扩充到一个完全合格的路径名

%~dI-仅将%I扩充到一个驱动器号

%~pI-仅将%I扩充到一个路径

%~nI-仅将%I扩充到一个文件名

%~xI-仅将%I扩充到一个文件扩展名

%~sI-扩充的路径只含有短名

%~aI-将%I扩充到文件的文件属性

%~tI-将%I扩充到文件的日期/时间

%~zI-将%I扩充到文件的大小

%~$PATH:I-查找列在路径环境变量的目录,并将%I扩充

到找到的第一个完全合格的名称。如果环境变量名

未被定义,或者没有找到文件,此组合键会扩充到

空字符串

可以组合修饰符来得到多重结果:

%~dpI-仅将%I扩充到一个驱动器号和路径

%~nxI-仅将%I扩充到一个文件名和扩展名

%~fsI-仅将%I扩充到一个带有短名的完整路径名

%~dp$PATH:i-查找列在路径环境变量的目录,并将%I扩充

到找到的第一个驱动器号和路径。

%~ftzaI-将%I扩充到类似输出线路的DIR

在以上例子中,%I和PATH可用其他有效数值代替。%~语法

用一个有效的FOR变量名终止。选取类似%I的大写变量名

比较易读,而且避免与不分大小写的组合键混淆。

返回页首

FORMAT

格式化磁盘以供Windows XP使用。

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指定每条磁道的扇区数。

返回页首

FTYPE

显示或修改用在文件扩展名关联中的文件类型

FTYPE[fileType[=[openCommandString]]]

fileType指定要检查或改变的文件类型

openCommandString指定调用这类文件时要使用的开放式命令。

键入FTYPE而不带参数来显示当前有定义的开放式命令字符串的

文件类型。FTYPE仅用一个文件类型启用时,它显示那个文件类

型目前的开放式命令字符串。如果不为开放式命令字符串指定,

FTYPE命令将删除那个文件类型的开放式命令字符串。在一个

开放式命令字符串之内,命令字符串%0或%1被通过关联调用

的文件名所代替。%*得到所有的参数,%2得到第一个参数,

%3得到第二个,等等。%~n得到其余所有以nth参数打头的

参数;n可以是从2到9的数字。例如:

ASSOC.pl=PerlScript

FTYPE PerlScript=perl.exe%1%*

允许您启用以下Perl脚本:

script.pl123

如果不想键入扩展名,则键入以下字符串:

set PATHEXT=.pl;%PATHEXT%

被启动的脚本如下:

script123

返回页首

GOTO

将cmd.exe导向到批处理程序中带标签的行。

GOTO label

label指定批处理程序中用作标签的文字字符串。

标签必须单独一行,并且以冒号打头。

如果命令扩展名被启用,GOTO会如下改变:

GOTO命令现在接受目标标签:EOF,这个标签将控制转移到当前批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的

办法。有关能使该功能有用的CALL命令的扩展名描述,请键入CALL/?。

返回页首

GRAFTABL

请在图形模式下启用Windows显示扩展字符集。

GRAFTABL[xxx]

GRAFTABL/STATUS

xxx指定代码页。

/STATUS显示选定的同GRAFTABL一起使用的当前代码页。

返回页首

HELP

提供Windows XP命令的帮助信息。

HELP[command]

command-显示该命令的帮助信息。

返回页首

IF

执行批处理程序中的条件处理。

IF[NOT]ERRORLEVEL number command

IF[NOT]string1==string2command

IF[NOT]EXIST filename command

NOT指定只有条件为false的情况下,Windows XP才

应该执行该命令。

ERRORLEVEL number如果最后运行的程序返回一个等于或大于

指定数字的退出编码,指定条件为true。

string1==string2如果指定的文字字符串匹配,指定条件为true。EXIST filename如果指定的文件名存在,指定条件为true。

command如果符合条件,指定要执行的命令。如果指定的

条件为FALSE,命令后可跟一个执行ELSE

关键字后的命令的ELSE命令。

ELSE子句必须在IF之后出现在同一行上。例如:

IF EXIST filename.(

del filename.

)ELSE(

echo filename.missing.

)

因为del命令需要用一个新行终止,以下子句不会有效:

IF EXIST filename.del filename.ELSE echo filename.missing

由于ELSE命令必须与IF命令的尾端在同一行上,以下子句也

不会有效:

IF EXIST filename.del filename.

ELSE echo filename.missing

如果都放在同一行上,以下子句有效:

IF EXIST filename.(del filename.)ELSE echo filename.missing

如果命令扩展名被启用,IF会如下改变:

IF[/I]string1compare-op string2command

IF CMDEXTVERSION number command

IF DEFINED variable command

其中,比较运算符可以是:

EQU-等于

NEQ-不等于

LSS-小于

LEQ-小于或等于

GTR-大于

GEQ-大于或等于

及/I开关;如果该开关被指定,则说明要进行的字符串比较不分

大小写。/I开关可以用于IF的string1==string2的形式上。这些

比较都是通用的;原因是,如果string1和string2都是由数字

组成的,字符串会被转换成数字,进行数字比较。

CMDEXTVERSION条件的作用跟ERRORLEVEL的一样,除了它是在跟与命令扩展名有关联的内部版本号比较。第一个版本

是1。每次对命令扩展名有相当大的增强时,版本号会增加一个。命令扩展名被停用时,CMDEXTVERSION条件不是真的。

如果已定义环境变量,DEFINED条件的作用跟EXISTS的一样,除了它取得一个环境变量,返回的结果是true。

如果没有名为ERRORLEVEL的环境变量,%ERRORLEVEL%

会扩充为ERROLEVEL当前数值的字符串表达式;否则,您会得到其数值。运行程序后,以下语句说明ERRORLEVEL的用法:

goto answer%ERRORLEVEL%

:answer0

echo Program had return code0

:answer1

echo Program had return code1

您也可以使用以上的数字比较:

IF%ERRORLEVEL%LEQ1goto okay

如果没有名为CMDCMDLINE的环境变量,%CMDCMDLINE%

将在CMD.EXE进行任何处理前扩充为传递给CMD.EXE的原始

命令行;否则,您会得到其数值。

如果没有名为CMDEXTVERSION的环境变量,

%CMDEXTVERSION%会扩充为CMDEXTVERSION当前数值的字串符表达式;否则,您会得到其数值。

返回页首

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。

返回页首

MKDIR

创建目录。

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。

返回页首

MODE

配置系统设备。

串行口:MODE COMm[:][BAUD=b][PARITY=p][DATA=d][STOP=s]

[to=on|off][xon=on|off][odsr=on|off]

[octs=on|off][dtr=on|off|hs]

[rts=on|off|hs|tg][idsr=on|off]

设备状态:MODE[device][/STATUS]

打印重定向:MODE LPTn[:]=COMm[:]

选定代码页:MODE CON[:]CP SELECT=yyy

代码页状态:MODE CON[:]CP[/STATUS]

显示模式:MODE CON[:][COLS=c][LINES=n]

击键率:MODE CON[:][RATE=r DELAY=d]

返回页首

MORE

逐屏显示输出。

MORE[/E[/C][/P][/S][/Tn][+n]]<[drive:][path]filename

command-name|MORE[/E[/C][/P][/S][/Tn][+n]]

MORE/E[/C][/P][/S][/Tn][+n][files]

[drive:][path]filename指定要逐屏显示的文件。

command-name指定要显示其输出的命令。

/E启用扩展功能

/C显示页面前先清除屏幕

/P扩展FormFeed字符

/S将多个空白行缩成一行

/Tn将跳格键扩展成n个空格(默认值为8)

命令行开关可以出现在MORE环境变量中。

+n从第n行开始显示第一个文件

files要显示的文件列表。用空格分开列表中的文件。

如果扩展的功能已经启用,在--More--提示处会接受下列

命令:

P n显示下n行

S n略过下n行

F显示下个文件

Q退出

=显示行号

?显示帮助行

显示下一页

显示下一行

返回页首

MOVE

移动文件并重命名文件和目录。

要移动至少一个文件:

MOVE[/Y|/-Y][drive:][path]filename1[,...]destination

要重命名一个目录:

MOVE[/Y|/-Y][drive:][path]dirname1dirname2

[drive:][path]filename1指定您想移动的文件位置和名称。

destination指定文件的新位置。目标可包含一个驱动器号

和冒号、一个目录名或组合。如果只移动一个文件

并在移动时将其重命名,您还可以包括文件名。[drive:][path]dirname1指定要重命名的目录。

dirname2指定目录的新名称。

/Y取消确认改写一个现有目标文件的提示。

/-Y对确认改写一个现有目标文件发出提示。

命令行开关/Y可以出现在COPYCMD环境变量中。这可以用命令行上

的/-Y替代。默认值是,除非MOVE命令是从一个批脚本内

执行的,改写时都发出提示。

返回页首

PATH

为可执行文件显示或设置一个搜索路径。

PATH[[drive:]path[;...][;%PATH%]

PATH;

键入PATH;清除所有搜索路径设置并指示cmd.exe只在当前

目录中搜索。

键入PATH但不加参数,显示当前路径。

将%PATH%包括在新的路径设置中会将旧路径附加到新设置。

返回页首

PAUSE

暂停批处理程序,并显示以下消息:

请按任意键继续...

返回页首

POPD

命令选项到保存在PUSHD命令里的目录。

POPD

如果命令扩展名被启用,从推目录堆栈POPD驱动器时,POPD 命令会删除PUSHD创建的临时驱动器号。

返回页首

PRINT

打印文本文件。

PRINT[/D:device][[drive:][path]filename[...]]

/D:device指定打印机设备。

返回页首

PROMPT

更改cmd.exe命令提示符。

PROMPT[text]

text指定新的命令提示符。

提示符可以由普通字符及下列特定代码组成:

$A&(短and符号)

$B|(管道)

$C((左括弧)

$D当前日期

$E Escape code(ASCII码27)

$F)(右括弧)

$G>(大于符号)

$H Backspace(擦除前一个字符)

$L<(小于符号)

$N当前驱动器

$P当前驱动器及路径

$Q=(等号)

$S(空格)

$T当前时间

$V Windows XP版本号

$_换行

$$$(货币符号)

如果命令扩展名被启用,PROMPT命令会支持下列格式化字符:

$+根据PUSHD目录堆栈的深度,零个或零个以上加号(+)字符;

每个被推的层有一个字符。

$M如果当前驱动器不是网络驱动器,显示跟当前驱动器号或空字符串有关联的远程名。

返回页首

PUSHD

保存当前目录以供POPD命令使用,然后改到指定的目录。

PUSHD[path|..]

path指定要成为当前目录的目录。

如果命令扩展名被启用,除了一般驱动器号和路径,PUSHD

命令还接受网络路径。如果指定了网络路径,PUSHD将创建一个

指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器

号改变当前的驱动器和目录。可以从Z:往下分配临时驱动器

号,使用找到的第一个没有用过的驱动器号。

返回页首

RD

删除一个目录。

RMDIR[/S][/Q][drive:]path

RD[/S][/Q][drive:]path

/S除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。

/Q安静模式,带/S删除目录树时不要求确认

返回页首

RECOVER

从损坏的磁盘中恢复可读取的信息。

RECOVER[drive:][path]filename

在使用RECOVER命令以前,

先查阅Windows XP帮助内的联机命令参考。

返回页首

REM

在批处理文件或CONFIG.SYS里加上注解或说明。

REM[comment]

返回页首

REN

重命名文件。

RENAME[drive:][path]filename1filename2.

REN[drive:][path]filename1filename2.

请注意,您不能为目标文件指定新的驱动器或路径。

返回页首

RENAME

重命名文件。

RENAME[drive:][path]filename1filename2.

REN[drive:][path]filename1filename2.

请注意,您不能为目标文件指定新的驱动器或路径。

返回页首

REPLACE

替换文件。

REPLACE[drive1:][path1]filename[drive2:][path2][/A][/P][/R][/W] REPLACE[drive1:][path1]filename[drive2:][path2][/P][/R][/S][/W][/U]

[drive1:][path1]filename指定源文件。

[drive2:][path2]指定要替换文件的

目录。

/A把新文件加入目标目录。不能和

/S或/U命令行开关搭配使用。

/P替换文件或加入源文件之前会先提示您

进行确认。

/R替换只读文件以及未受保护的

文件。

/S替换目标目录中所有子目录的文件。

不能与/A命令选项

搭配使用。

/W等您插入磁盘以后再运行。

/U只会替换或更新比源文件日期早的文件。

不能与/A命令行开关搭配使用。

返回页首

RMDIR

删除一个目录。

RMDIR[/S][/Q][drive:]path

RD[/S][/Q][drive:]path

/S除目录本身外,还将删除指定目录下的所有子目录和

文件。用于删除目录树。

/Q安静模式,带/S删除目录树时不要求确认

返回页首

SET

显示、设置或删除cmd.exe环境变量。

SET[variable=[string]]

variable指定环境变量名。

string指定要指派给变量的一系列字符串。

要显示当前环境变量,键入不带参数的SET。

如果命令扩展名被启用,SET会如下改变:

可仅用一个变量激活SET命令,等号或值不显示所有前缀匹配

SET命令已使用的名称的所有变量的值。例如:

SET P

会显示所有以字母P打头的变量

如果在当前环境中找不到该变量名称,SET命令将把ERRORLEVEL

设置成1。

SET命令不允许变量名含有等号。

在SET命令中添加了两个新命令行开关:

SET/A expression

SET/P variable=[promptString]

/A命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式评估器很简单并以递减的优先权顺序支持下列操作:

()-分组

~--一元运算符

*/%-算数运算符

+--算数运算符

<<>>-逻辑移位

-按位“与”

^-按位“异”

|-按位“或”

=*=/=%=+=-=-赋值

&=^=|=<<=>>=

,-表达式分隔符

如果您使用任何逻辑或取余操作符,您需要将表达式字符串用

引号扩起来。在表达式中的任何非数字字符串键作为环境变量

名称,这些环境变量名称的值已在使用前转换成数字。如果指定

了一个环境变量名称,但未在当前环境中定义,那么值将被定为

零。这使您可以使用环境变量值做计算而不用键入那些%符号

来得到它们的值。如果SET/A在命令脚本外的命令行执行的,

那么它显示该表达式的最后值。该分配的操作符在分配的操作符

左边需要一个环境变量名称。除十六进制有0x前缀,八进制

有0前缀的,数字值为十进位数字。因此,0x12与18和022

相同。请注意八进制公式可能很容易搞混:08和09是无效的数字,

因为8和9不是有效的八进制位数。

/P命令行开关允许将变量数值设成用户输入的一行输入。读取输入

行之前,显示指定的promptString。promptString可以是空的。

环境变量替换已如下增强:

%PATH:str1=str2%

会扩展PATH环境变量,用"str2"代替扩展结果中的每个"str1"。要有效地从扩展结果中删除所有的"str1","str2"可以是空的。"str1"可以以星号打头;在这种情况下,"str1"会从扩展结果的

开始到str1剩余部分第一次出现的地方,都一直保持相配。

也可以为扩展名指定子字符串。

%PATH:~10,5%

会扩展PATH环境变量,然后只使用在扩展结果中从第11个(偏移量10)字符开始的五个字符。如果没有指定长度,则采用默认值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,使用的数字则是环境变量数值长度加上指定的偏移量或长度。

%PATH:~-10%

会提取PATH变量的最后十个字符。

%PATH:~0,-2%

会提取PATH变量的所有字符,除了最后两个。

终于添加了延迟环境变量扩充的支持。该支持总是按默认值被

停用,但也可以通过CMD.EXE的/V命令行开关而被启用/停用。请参阅CMD/?

考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境

变量扩充是很有用的,而不是执行的时候。以下例子说明直接

变量扩充的问题:

set VAR=before

if"%VAR%"=="before"(

set VAR=after

if"%VAR%"=="after"@echo If you see this,it worked )

不会显示消息,因为在读到第一个IF语句时,BOTH IF语句中的%VAR%会被代替;原因是:它包含IF的文体,IF是一个

复合语句。所以,复合语句中的IF实际上是在比较"before"和"after",这两者永远不会相等。同样,以下这个例子也不会达到

预期效果:

set LIST=

for%i in(*)do set LIST=%LIST%%i

echo%LIST%

原因是,它不会在目前的目录中建立一个文件列表,而只是将

LIST变量设成找到的最后一个文件。这也是因为%LIST%在FOR语句被读取时,只被扩充了一次;而且,那时的LIST变量

是空的。因此,我们真正执行的FOR循环是:

for%i in(*)do set LIST=%i

这个循环继续将LIST设成找到的最后一个文件。

延迟环境变量扩充允许您使用一个不同的字符(惊叹号)在执行

时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面

例子写成以下所示,以达到预期效果:

set VAR=before

if"%VAR%"=="before"(

set VAR=after

if""=="after"@echo If you see this,it worked

)

set LIST=

for%i in(*)do set LIST=%i

echo%LIST%

如果命令扩展名被启用,有几个动态环境变量可以被扩展,但

不会出现在SET显示的变量列表中。每次变量数值被扩展时,

这些变量数值都会被动态计算。如果用户用这些名称中任何

一个定义变量,那个定义会替代下面描述的动态定义:

%CD%-扩展到当前目录字符串。

%DATE%-用跟DATE命令同样的格式扩展到当前日期。

%TIME%-用跟TIME命令同样的格式扩展到当前时间。

%RANDOM%-扩展到0和32767之间的任意十进制数字。

%ERRORLEVEL%-扩展到当前ERRORLEVEL数值。

%CMDEXTVERSION%-扩展到当前命令处理器扩展名版本号。

%CMDCMDLINE%-扩展到调用命令处理器的原始命令行。

返回页首

SETLOCAL

开始批处理文件中环境改动的本地化操作。在执行SETLOCAL之后

所做的环境改动只限于批处理文件。要还原原先的设置,必须执

行ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个

尚未执行的SETLOCAL命令,都会有一个隐含的ENDLOCAL被执行。SETLOCAL

如果命令扩展名被启用,SETLOCAL会如下改变:

SETLOCAL批命令现在可以接受可选参数:

ENABLEEXTENSIONS/DISABLEEXTENSIONS

启动或停用命令处理器扩展名。详细信息,请参阅CMD/?。

ENABLEDELAYEDEXPANSION/DISABLEDELAYEDEXPANSION 启动或停用延缓环境变量扩展名。详细信息,请

参阅SET/?。

无论在SETLOCAL命令之前它们的设置是什么,这些修改会一直

保留到匹配的ENDLOCAL命令。

如果有一个参数,SETLOCAL命令将设置ERRORLEVEL的值。

如果有两个有效参数中的一个,该值则为零。用下列技巧,您

可以在批脚本中使用这个来决定扩展名是否可用:

你可能感兴趣的:(CMD命令速查手册)