『第 2 楼』:
 
 
使用 LLM 解释/回答一下
  
----------------------  
显示或修改文件扩展名关联 
 
ASSOC ]] 
 
  .ext      指定跟文件类型关联的文件扩展名 
  fileType  指定跟文件扩展名关联的文件类型 
 
键入 ASSOC 而不带参数,显示当前文件关联。如果只用文件扩展 
名调用 ASSOC,则显示那个文件扩展名的当前文件关联。如果不为 
文件类型指定任何参数,命令会删除文件扩展名的关联。 
----------------------  
AT 命令安排在特定日期和时间运行命令和程序。 
要使用 AT 命令,计划服务必须已在运行中。 
                                                            
AT    | /DELETE ]                     
AT  time  
     | /NEXT:date] "command" 
 
\\computername       指定远程计算机。 如果省略这个参数, 
                     会计划在本地计算机上运行命令。              
id                   指定给已计划命令的识别号。 
/delete              删除某个已计划的命令。如果省略 id, 
                     计算机上所有已计划的命令都会被删除。 
/yes                 不需要进一步确认时,跟删除所有作业 
                     的命令一起使用。 
time                 指定运行命令的时间。 
/interactive         允许作业在运行时,与当时登录的用户 
                     桌面进行交互。 
/every:date    每个月或每个星期在指定的日期运行命 
                     令。如果省略日期,则默认为在每月的 
                     本日运行。 
/next:date     指定在下一个指定日期(如,下周四)运 
                     行命令。如果省略日期,则默认为在每 
                     月的本日运行。 
"command"            准备运行的 Windows NT 命令或批处理 
                     程序。 
 
----------------------  
显示或更改文件属性。 
 
ATTRIB       filename] ] 
 
  +   设置属性。 
  -    清除属性。 
  R   只读文件属性。 
  A   存档文件属性。 
  S   系统文件属性。 
  H   隐藏文件属性。 
   
      指定要处理的文件属性。 
  /S  处理当前文件夹及其子文件夹中的匹配文件。 
  /D  也处理文件夹。 
 
----------------------  
设置或清除 DOS 系统的扩展 CTRL+C 检测 
 
这个命令是为了与 DOS 系统的兼容而保留的,在 Windows XP  
里不起作用。 
 
如果命令扩展名被启用,并且操作平台是 Windows XP, 
BREAK 命令会在被调试程序调试时输入一个硬代码中断点。 
----------------------  
显示或者修改文件的访问控制表(ACL) 
 
 
 
CACLS filename     ] 
 
               ] ] 
 
   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 filename  
 
  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 可以被其他有效数值替换。 
    %~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %* 
    使用 
----------------------  
显示当前目录名或改变当前目录。 
 
CHDIR   
CHDIR  
CD   
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  
 
  nnn   指定代码页编号。 
 
不加参数键入 CHCP 显示活动代码页编号。 
----------------------  
显示当前目录名或改变当前目录。 
 
CHDIR   
CHDIR  
CD   
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 filename]]]       ] 
 
 
  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 volume  
CHKNTFS /D 
CHKNTFS /T\r\nCHKNTFS /X volume  
CHKNTFS /C volume  
 
  volume:        指定驱动器(后面跟一个冒号)、装入点 
                 或卷名。 
  /D             将计算机恢复成默认状态, 启动时检查所有驱动器, 
                 并对有问题的驱动器执行 chkdsk 命令。 
  /T:time        将 AUTOCHK 初始递减计数时间改成指定的 
                 时间量,单位为秒数。如果没有指定 
                 时间,则显示当前设置。 
  /X             排除启动时不作检查的驱动器。上次执行此命令 
                 排除的驱动器此时无效。 
  /C             安排启动时检查驱动器,如果驱动器有问题,运行 chkdsk。 
 
如果没有指定命令行开关,CHKNTFS 会显示每一驱动器有问题的位的状态。 
----------------------  
清除屏幕。 
 
CLS 
----------------------  
启动 Windows XP 命令解释程序一个新的实例 
 
CMD       
      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! 扩展变量 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 
 
        和/或 
 
    HKEY_CURRENT_USER\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 
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar 
 
由一个控制字符的十六进制值作为一个特定参数(例如,0x4 是 
Ctrl-D,0x6 是 Ctrl-F)。 用户特定设置优先于机器设置。命令行开关 
优先于注册表设置。 
 
如果完成是用 /F:ON 命令行开关启用的,两个要使用的控制符是: 目录名 
字完成用 Ctrl-D, 文件名完成用 Ctrl-F。 要停用注册表中的某个 
字符,请用空格(0x20)的数值,因为此字符不是控制字符。 
 
如果键入两个控制字符中的一个,完成会被调用。完成功能将 
路径字符串带到光标的左边,如果没有通配符,将通配符附加 
到左边,并建立相符的路径列表。然后,显示第一个相符的路 
径。如果没有相符的路径,则发出嘟嘟声,不影响显示。之后, 
重复按同一个控制字符会循环显示相符路径的列表。将 Shift 键 
跟控制字符同时按下,会倒着显示列表。如果对该行进行了任 
何编辑,并再次按下控制字符,保存的相符路径的列表会被丢弃, 
新的会被生成。如果在文件和目录名完成之间切换,会发生 
同样现象。两个控制字符之间的唯一区别是文件完成字符符合 
文件和目录名,而目录完成字符只符合目录名。如果文件完成 
被用于内置式目录命令(CD、MD 或 RD),就会使用目录完成。 
 
将引号将相符路径括起来,完成代码可以正确处理含有空格 
或其他特殊字符的文件名。同时,如果备份,然后从行内调用 
文件完成,完成被调用是位于光标右方的文字会被丢弃。 
 
需要引号的特殊字符是: 
     <space> 
     &(){}^=;!'+,`~ 
----------------------  
设置默认的控制台前景和背景颜色。 
 
COLOR  
 
  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        ] 
 
  data1      指定要比较的第一个文件的位置和名称。 
  data2      指定要比较的第二个文件的位置和名称。 
  /D         用十进制格式显示不同处。 
  /A         用 ASCII 字符显示不同处。 
  /L         显示不同的行数。 
  /N=number  只比较每个文件中第一个指定的行数。 
  /C         比较文件时不分 ASCII 字母的大小写。 
  /OFF 不要跳过带有脱机属性集的文件。 
 
要比较文件集,在 data1 和 data2 参数中使用通配符。 
----------------------  
显示或改变 NTFS 分区上文件的压缩. 
 
COMPACT  ]     ] 
 
  /C        压缩指定的文件。会给目录作标记,这样以后添加的文件 
            会得到压缩。 
  /U        解压缩指定的文件。会给目录作标记,这样以后添加的文 
            件不会得到压缩。 
  /S        在指定的目录和所有子目录中的文件上执行指定操作。 
            默认 "dir"是当前目录。 
  /A        显示具有隐藏或系统属性的文件。在默认 
            情况下,这些文件都是被忽略的。 
  /I        即使在错误发生后,依然继续执行指定的操作。在默认情况 
            下,COMPACT 在遇到错误时会停止。 
  /F        在所有----------------------  
将 FAT 卷转换成 NTFS。 
 
CONVERT volume /FS:NTFS     
 
  volume      指定驱动器号(后面跟一个冒号)、 
              装载点或卷名。 
  /FS:NTFS    指定要被转换成 NTFS 的卷。 
  /V          指定 Convert 应该用详述模式运行。 
  /CvtArea:filename 
              将根目录中的一个接续文件指定为 
              NTFS 系统文件的占位符。 
  /NoSecurity 指定每个人都可以访问转换的文件 
              和目录的安全设置。 
  /X          如果必要,先强行卸载卷。 
              该卷的所有打开的句柄则无效。 
----------------------  
将一份或多份文件复制到另一个位置。 
 
COPY       source  
      ] ] 
 
  source       指定要复制的文件。 
  /A           表示一个 ASCII 文本文件。 
  /B           表示一个二进位文件。 
  /D           允许解密要创建的目标文件 
  destination  为新文件指定目录和/或文件名。 
  /V           验证新文件写入是否正确。 
  /N           复制带有非 8dot3 名称的文件时, 
               尽可能使用短文件名。 
  /Y           不使用确认是否要改写现有目标文件 
               的提示。 
  /-Y          使用确认是否要改写现有目标文件 
               的提示。 
  /Z           用可重新启动模式复制已联网的文件。 
 
命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。 
这可能会被命令行上的 /-Y 替代。除非 COPY 
命令是在一个批文件脚本中执行的,默认值应为 
在改写时进行提示。 
 
要附加文件,请为目标指定一个文件,为源指定 
数个文件(用通配符或 file1+file2+file3 格式)。 
----------------------  
显示或设置日期。 
 
DATE   
 
显示当前日期设置和输入新日期的提示,请键入 
不带参数的 DATE。要保留现有日期,请按 ENTER。 
 
如果命令扩展名被启用,DATE 命令会支持 /T 开关; 
该开关指示命令只输出当前日期,但不提示输出新日期。 
----------------------  
删除一个或数个文件。 
 
DEL     attributes]] names 
ERASE     attributes]] names 
 
  names         指定一个或数个文件或目录列表。通配符可被用来 
                删除多个文件。如果指定了一个目录,目录中的所 
                有文件都会被删除。 
 
  /P            删除每一个文件之前提示确认。 
  /F            强制删除只读文件。 
  /S            从所有子目录删除指定文件。 
  /Q            安静模式。删除全局通配符时,不要求确认。 
  /A            根据属性选择要删除的文件。 
  attributes      R  只读文件                     S  系统文件 
                  H  隐藏文件                     A  存档文件 
                  -  表示“否”的前缀 
 
如果命令扩展名被启用,DEL 和 ERASE 会如下改变: 
 
/S 开关的显示句法会颠倒,即只显示已经 
删除的文件,而不显示找不到的文件。 
----------------------  
显示目录中的文件和子目录列表。 
 
DIR  attributes]]      
  sortorder]]    timefield]]    
 
   
              指定要列出的驱动器、目录和/或文件。 
 
  /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 ] 
 
----------------------  
把一张软盘的内容复制到另一张。 
 
DISKCOPY ]  
 
  /V   校验信息复制得是否正确。 
 
两张软盘的类型必须相同。 
您可以为 drive1 和 drive2 指定同样的驱动器。 
----------------------  
编辑命令行,重调用 Windows XP 命令,并创建宏。 
 
DOSKEY   ] 
      
  ] 
 
  /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  
 
要显示当前回显设置,键入不带参数的 ECHO。 
----------------------  
结束批处理文件中环境改动的本地化操作。在执行ENDLOCAL 之后 
所做的环境改动不再仅限于批处理文件。批处理文件结束后, 
原先的设置无法还原。 
 
ENDLOCAL 
 
如果命令扩展名被启用,ENDLOCAL 会如下改变: 
 
如果相应的 SETLOCAL 用新的 ENABLEEXTENSIONS 或 
DISABLEEXTENSIONS 选项启用或停用了命令扩展名,那么,在  
ENDLOCAL 之后,命令扩展名的启用/停用状态会还原到执行 
相应的 SETLOCAL 命令前的状态。 
----------------------  
删除一个或数个文件。 
 
DEL     attributes]] names 
ERASE     attributes]] names 
 
  names         指定一个或数个文件或目录列表。通配符可被用来 
                删除多个文件。如果指定了一个目录,目录中的所 
                有文件都会被删除。 
 
  /P            删除每一个文件之前提示确认。 
  /F            强制删除只读文件。 
  /S            从所有子目录删除指定文件。 
  /Q            安静模式。删除全局通配符时,不要求确认。 
  /A            根据属性选择要删除的文件。 
  attributes      R  只读文件                     S  系统文件 
                  H  隐藏文件                     A  存档文件 
                  -  表示“否”的前缀 
 
如果命令扩展名被启用,DEL 和 ERASE 会如下改变: 
 
/S 开关的显示句法会颠倒,即只显示已经 
删除的文件,而不显示找不到的文件。 
----------------------  
退出 CMD.EXE 程序(命令翻译程序)或当前批处理脚本。 
 
EXIT   
 
  /B          指定要退出当前批处理脚本而不是 CMD.EXE。如果从一个 
              批处理脚本外执行,则会退出 CMD.EXE 
 
  exitCode    指定一个数字号码。如果指定了 /B,将 ERRORLEVEL 
              设成那个数字。如果退出 CMD.EXE,则用那个数字设置 
              过程退出代码。 
----------------------  
比较两个文件或两个文件集并显示它们之间的不同 
 
 
FC      ]     
   filename1 filename2 
FC /B filename1 filename2 
 
  /A         只显示每个不同处的第一行和最后一行。 
  /B         执行二进制比较。 
  /C         不分大小写。 
  /L         将文件作为 ASCII 文字比较。 
  /LBn       将连续不匹配的最大值设为指定 
             的行数。 
  /N         在 ASCII 比较上显示行数。 
  /OFF 不要跳过带有脱机属性集的文件。 
  /T         不要将 tab 扩充到空格。 
  /U         将文件作为 UNICODE 文字文件比较。 
  /W         为了比较而压缩空白(tab 和空格)。 
  /nnnn      指定不匹配处后必须连续匹配的行数。 
  filename1 
             指定要比较的第一个文件或第一个文件集。 
  filename2 
             指定要比较的第二个文件或第二个文件集。 
 
----------------------  
在文件中搜索字符串。 
 
FIND     ] "string" filename] 
 
  /V        显示所有未包含指定字符串的行。 
  /C        仅显示包含字符串的行数。 
  /N        显示行号。 
  /I        搜索字符串时忽略大小写。 
  /OFF 不要跳过具有脱机属性集的文件。 
  "string"  指定要搜索的文字串, 
  filename 
            指定要搜索的文件。 
 
如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。 
----------------------  
在文件中寻找字符串。 
 
FINDSTR             
            ] 
        strings filename] 
 
  /B        在一行的开始配对模式。 
  /E        在一行的结尾配对模式。 
  /L        按字使用搜索字符串。 
  /R        将搜索字符串作为一般表达式使用。 
  /S        在当前目录和所有子目录中搜索 
              匹配文件。 
  /I         指定搜索不分大小写。 
  /X        打印完全匹配的行。 
  /V        只打印不包含匹配的行。 
  /N        在匹配的每行前打印行数。 
  /M        如果文件含有匹配项,只打印其文件名。 
  /O        在每个匹配行前打印字符偏移量。 
  /P        忽略有不可打印字符的文件。   
  /OFF 不跳过带有脱机属性集的文件。 
  /A:attr   指定有十六进位数字的颜色属性。请见 "color /?" 
  /F:file   从指定文件读文件列表 (/ 代表控制台)。 
  /C:string 使用指定字符串作为文字搜索字符串。 
  /G:file   从指定的文件获得搜索字符串。 (/ 代表控制台)。 
  /D:dir    查找以分号为分隔符的目录列表 
  strings   要查找的文字。 
  filename 
            指定要查找的文件。 
 
除非参数有 /C 前缀,请使用空格隔开搜索字符串。 
例如: 'FINDSTR "hello there" x.y' 在文件 x.y 中寻找 "hello" 或 
"there" 。  'FINDSTR /C:"hello there" x.y' 文件 x.y  寻找 
"hello there"。 
 
一般表达式的快速参考: 
  .        通配符: 任何字符 
  *        重复: 以前字符或类别出现零或零以上次数 
  ^        行位置: 行的开始 
  $        行位置: 行的终点 
    字符类别: 任何在字符集中的字符 
   补字符类别: 任何不在字符集中的字符 
      范围: 在指定范围内的任何字符 
  \x       Escape: 元字符 x 的文字用法 
  \<xyz    字位置: 字的开始 
  xyz\>    字位置: 字的结束 
 
有关 FINDSTR 常见表达法的详细情况,请见联机命令参考。 
----------------------  
对一组文件中的每一个文件执行某个特定命令。 
 
FOR %variable IN (set) DO command  
 
  %variable  指定一个单一字母可替换的参数。 
  (set)      指定一个或一组文件。可以使用通配符。 
  command    指定对每个文件执行的命令。 
  command-parameters 
             为特定命令指定参数或命令行开关。 
 
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable  
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I. 
 
如果命令扩展名被启用,下列额外的 FOR 命令格式会受到 
支持: 
 
FOR /D %variable IN (set) DO command  
 
    如果集中包含通配符,则指定与目录名匹配,而不与文件 
    名匹配。 
 
FOR /R path] %variable IN (set) DO command  
 
    检查以 path 为根的目录树,指向每个目录中的 
    FOR 语句。如果在 /R 后没有指定目录,则使用当前 
    目录。如果集仅为一个单点(.)字符,则枚举该目录树。 
 
FOR /L %variable IN (start,step,end) DO command  
 
    该集表示以增量形式从开始到结束的一个数字序列。 
    因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生 
    序列 (5 4 3 2 1)。 
 
FOR /F  %variable IN (file-set) DO command  
FOR /F  %variable IN ("string") DO command  
FOR /F  %variable IN ('command') DO command  
 
    或者,如果有 usebackq 选项: 
 
FOR /F  %variable IN (file-set) DO command  
FOR /F  %variable IN ("string") DO command  
FOR /F  %variable IN ('command') DO command  
 
    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 的大写变量名 
比较易读,而且避免与不分大小写的组合键混淆。 
----------------------  
格式化磁盘以供 Windows XP 使用。 
 
FORMAT volume       
FORMAT volume    
FORMAT volume    
FORMAT volume   
FORMAT volume  
 
  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 ]] 
 
  fileType  指定要检查或改变的文件类型 
  openCommandString 指定调用这类文件时要使用的开放式命令。 
 
键入 FTYPE 而不带参数来显示当前有定义的开放式命令字符串的 
文件类型。 FTYPE 仅用一个文件类型启用时,它显示那个文件类 
型目前的开放式命令字符串。如果不为开放式命令字符串指定, 
FTYPE 命令将删除那个文件类型的开放式命令字符串。在一个 
开放式命令字符串之内,命令字符串 %0 或 %1 被通过关联调用 
的文件名所代替。%* 得到所有的参数,%2 得到第一个参数, 
%3 得到第二个,等等。%~n 得到其余所有以 nth 参数打头的 
参数;n 可以是从 2 到 9 的数字。例如: 
 
    ASSOC .pl=PerlScript 
    FTYPE PerlScript=perl.exe %1 %* 
 
允许您启用以下 Perl 脚本: 
 
    script.pl 1 2 3 
 
如果不想键入扩展名,则键入以下字符串: 
 
    set PATHEXT=.pl;%PATHEXT% 
 
被启动的脚本如下: 
 
    script 1 2 3 
----------------------  
将 cmd.exe 导向到批处理程序中带标签的行。 
 
GOTO label 
 
  label   指定批处理程序中用作标签的文字字符串。 
 
标签必须单独一行,并且以冒号打头。 
 
如果命令扩展名被启用,GOTO 会如下改变: 
 
GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前 
批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的 
办法。有关能使该功能有用的 CALL 命令的扩展名描述,请键入 
CALL /?。 
----------------------  
请在图形模式下启用 Windows 显示扩展字符集。 
 
GRAFTABL  
GRAFTABL /STATUS 
 
   xxx      指定代码页。 
   /STATUS  显示选定的同 GRAFTABL 一起使用的当前代码页。 
----------------------  
----------------------  
执行批处理程序中的条件处理。 
 
IF  ERRORLEVEL number command 
IF  string1==string2 command 
IF  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  string1 compare-op string2 command 
    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 code 0 
    :answer1 
    echo Program had return code 1 
 
您也可以使用以上的数字比较: 
 
    IF %ERRORLEVEL% LEQ 1 goto okay 
 
如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE% 
将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始 
命令行;否则,您会得到其数值。 
 
如果没有名为 CMDEXTVERSION 的环境变量, 
%CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的 
字串符表达式;否则,您会得到其数值。 
----------------------  
创建、更改或删除磁盘的卷标。 
 
LABEL  
LABEL    
 
  drive:          指定驱动器名。 
  label           指定卷标签。 
  /MP             指定卷应该被当作安装点或卷名。 
  volume          指定驱动器(后面跟一个冒号)、装入点 
                  或卷名。如果指定了卷名,/MP 标志则不必要。 
----------------------  
创建目录。 
 
MKDIR path 
MD 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 path 
MD 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 COMm     
                                   
                                  
                                  
 
设备状态:             MODE   
 
打印重定向:   MODE LPTn=COMm 
 
选定代码页:   MODE CON CP SELECT=yyy 
 
代码页状态:   MODE CON CP  
 
显示模式:       MODE CON   
 
击键率:              MODE CON  
----------------------  
逐屏显示输出。 
 
MORE     ] < filename 
command-name | MORE     ] 
MORE /E       
 
    filename  指定要逐屏显示的文件。 
 
    command-name                 指定要显示其输出的命令 。 
 
    /E      启用扩展功能 
    /C      显示页面前先清除屏幕 
    /P      扩展 FormFeed 字符 
    /S      将多个空白行缩成一行 
    /Tn     将跳格键扩展成 n 个空格(默认值为 8) 
 
            命令行开关可以出现在 MORE 环境变量中。 
 
    +n      从第 n 行开始显示第一个文件 
 
    files    要显示的文件列表。 用空格分开列表中的文件。 
 
    如果扩展的功能已经启用,在 -- More -- 提示处会接受下列 
    命令: 
 
    P n     显示下 n 行 
    S n     略过下 n 行 
    F       显示下个文件 
    Q       退出 
    =       显示行号 
    ?       显示帮助行 
    <space> 显示下一页 
    <ret>   显示下一行 
----------------------  
移动文件并重命名文件和目录。 
 
要移动至少一个文件: 
MOVE  filename1 destination 
 
要重命名一个目录: 
MOVE  dirname1 dirname2 
 
  filename1 指定您想移动的文件位置和名称。 
  destination             指定文件的新位置。目标可包含一个驱动器号 
                          和冒号、一个目录名或组合。如果只移动一个文件 
                          并在移动时将其重命名,您还可以包括文件名。 
  dirname1  指定要重命名的目录。 
  dirname2                指定目录的新名称。 
 
  /Y                      取消确认改写一个现有目标文件的提示。 
  /-Y                     对确认改写一个现有目标文件发出提示。 
 
命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上 
的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内 
执行的,改写时都发出提示。 
----------------------  
为可执行文件显示或设置一个搜索路径。 
 
PATH path 
PATH ; 
 
键入 PATH ; 清除所有搜索路径设置并指示 cmd.exe 只在当前 
目录中搜索。 
键入 PATH 但不加参数,显示当前路径。 
将 %PATH% 包括在新的路径设置中会将旧路径附加到新设置。 
----------------------  
暂停批处理程序,并显示以下消息: 
    请按任意键继续. . . ----------------------  
命令选项到保存在 PUSHD 命令里的目录。 
 
POPD 
 
 
如果命令扩展名被启用,从推目录堆栈 POPD 驱动器时,POPD 
命令会删除 PUSHD 创建的临时驱动器号。 
----------------------  
打印文本文件。 
 
PRINT  filename] 
 
   /D:device   指定打印机设备。 
 
----------------------  
更改 cmd.exe 命令提示符。 
 
PROMPT  
 
  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   如果当前驱动器不是网络驱动器,显示跟当前驱动器号或 
       空字符串有关联的远程名。 
----------------------  
保存当前目录以供 POPD 命令使用,然后改到指定的目录。 
 
PUSHD  
 
  path        指定要成为当前目录的目录。 
 
如果命令扩展名被启用,除了一般驱动器号和路径,PUSHD  
命令还接受网络路径。如果指定了网络路径,PUSHD 将创建一个 
指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器 
号改变当前的驱动器和目录。可以从 Z: 往下分配临时驱动器 
号,使用找到的第一个没有用过的驱动器号。 
----------------------  
删除一个目录。 
 
RMDIR   path 
RD   path 
 
    /S      除目录本身外,还将删除指定目录下的所有子目录和 
            文件。用于删除目录树。 
 
    /Q      安静模式,带 /S 删除目录树时不要求确认 
----------------------  
从损坏的磁盘中恢复可读取的信息。 
 
RECOVER filename 
在使用 RECOVER 命令以前, 
先查阅 Windows XP 帮助内的联机命令参考。 
----------------------  
在批处理文件或 CONFIG.SYS 里加上注解或说明。 
 
REM  
----------------------  
重命名文件。 
 
RENAME filename1 filename2. 
REN filename1 filename2. 
 
请注意,您不能为目标文件指定新的驱动器或路径。 
----------------------  
重命名文件。 
 
RENAME filename1 filename2. 
REN filename1 filename2. 
 
请注意,您不能为目标文件指定新的驱动器或路径。 
----------------------  
替换文件。 
 
REPLACE filename      
REPLACE filename       
 
  filename 指定源文件。 
           指定要替换文件的 
                           目录。 
  /A                       把新文件加入目标目录。不能和 
                           /S 或 /U 命令行开关搭配使用。 
  /P                       替换文件或加入源文件之前会先提示您 
                           进行确认。 
  /R                       替换只读文件以及未受保护的 
                           文件。 
  /S                       替换目标目录中所有子目录的文件。 
                           不能与 /A 命令选项 
                           搭配使用。 
  /W                       等您插入磁盘以后再运行。 
  /U                       只会替换或更新比源文件日期早的文件。 
                           不能与 /A 命令行开关搭配使用。 
----------------------  
删除一个目录。 
 
RMDIR   path 
RD   path 
 
    /S      除目录本身外,还将删除指定目录下的所有子目录和 
            文件。用于删除目录树。 
 
    /Q      安静模式,带 /S 删除目录树时不要求确认 
----------------------  
显示、设置或删除 cmd.exe 环境变量。 
 
SET ] 
 
  variable  指定环境变量名。 
  string    指定要指派给变量的一系列字符串。 
 
要显示当前环境变量,键入不带参数的 SET。 
 
如果命令扩展名被启用,SET 会如下改变: 
 
可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配 
SET 命令已使用的名称的所有变量的值。例如: 
 
    SET P 
 
会显示所有以字母 P 打头的变量 
 
如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL 
设置成 1。 
 
SET 命令不允许变量名含有等号。 
 
在 SET 命令中添加了两个新命令行开关: 
 
    SET /A expression 
    SET /P variable= 
 
/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 "!VAR!" == "after" @echo If you see this, it worked 
    ) 
 
    set LIST= 
    for %i in (*) do set LIST=!LIST! %i 
    echo %LIST% 
 
如果命令扩展名被启用,有几个动态环境变量可以被扩展,但 
不会出现在 SET 显示的变量列表中。每次变量数值被扩展时, 
这些变量数值都会被动态计算。如果用户用这些名称中任何 
一个定义变量,那个定义会替代下面描述的动态定义: 
 
%CD% - 扩展到当前目录字符串。 
 
%DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。 
 
%TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。 
 
%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。 
 
%ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。 
 
%CMDEXTVERSION% - 扩展到当前命令处理器扩展名版本号。 
 
%CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。 
----------------------  
开始批处理文件中环境改动的本地化操作。在执行 SETLOCAL 之后 
所做的环境改动只限于批处理文件。要还原原先的设置,必须执 
行 ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个 
尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。 
 
SETLOCAL 
 
如果命令扩展名被启用,SETLOCAL 会如下改变: 
 
SETLOCAL 批命令现在可以接受可选参数: 
        ENABLEEXTENSIONS / DISABLEEXTENSIONS 
            启动或停用命令处理器扩展名。详细信息,请参阅 CMD /?。 
        ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION 
            启动或停用延缓环境变量扩展名。详细信息,请 
            参阅 SET /? 。 
无论在 SETLOCAL 命令之前它们的设置是什么,这些修改会一直 
保留到匹配的 ENDLOCAL 命令。 
 
如果有一个参数,SETLOCAL 命令将设置 ERRORLEVEL 的值。 
如果有两个有效参数中的一个,该值则为零。用下列技巧,您 
可以在批脚本中使用这个来决定扩展名是否可用: 
 
    VERIFY OTHER 2>nul 
    SETLOCAL ENABLEEXTENSIONS 
    IF ERRORLEVEL 1 echo Unable to enable extensions 
 
这个方法之所以有效,是因为在 CMD.EXE 的旧版本上,SETLOCAL 
不设置 ERRORLEVEL 值。具有不正确参数的 VERIFY 命令将 
ERRORLEVEL 值初始化成非零值。 
----------------------  
更改批处理文件中可替换参数的位置。 
 
SHIFT  
 
如果命令扩展名被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉 
命令从第 n 个参数开始移位;n 介于零和八之间。例如: 
 
    SHIFT /2 
 
会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。 
----------------------  
SORT      
 
  filename1] ] 
 
  filename3] 
 
  /+n                         指定开始每个比较的字符号码 n。/+3 说明每个 
 
                              比较应从每行的第三个字符开始。少于 n 个字符 
 
                              的行排在其他行之前。按默认值,从每行的第一 
 
                              个字符开始比较。 
 
  /L locale            用指定的区域设置替代系统默认区域设置。 
 
                              ""C"" 区域设置产生最快的排序顺序并且是当前的 
 
                              唯一其他选择。排序总是不分大小写的。 
 
  /M kilobytes         指定用于排序的主内存量,单位为 KB。 
 
                              最小内存量总是 160 KB。如果指定内存大小, 
 
                              无论主内存的可用量是多少,指定的内存量 
 
                              会全部用于排序。 
 
 
 
                              要取得最佳性能,通常不指定内存大小。按默认 
 
                              值,如果达到默认最大内存值,排序会一次完成 
 
                              (非临时文件);否则,排序会分两次完成(没有 
 
                              完全排序的数据存储在临时文件中);用于排序 
 
                              和合并的内存量相等。如果输入和输出都是 
 
                              文件, 默认最大内存量为可用主内存的 90%; 
 
                              否则,为主内存的 45%。 
 
  /REC characters 指定记录中的最大字符数量 
 
                               (默认值为 4096,最大值为 65535)。 
 
  /R                  颠倒排序顺序,即,从 Z 到 A,再从 9 到 0。 
 
  filename1   指定要排序的文件。如果没有指定, 
 
                              则排序标准输入。指定输入文件比将同一个文件 
 
                              重定向为标准输入快。 
 
  /T 
 
              指定保留排序工作存储的目录路径,以防 
 
                              主内存无法容纳数据。默认值是使用系统临时 
 
                              目录。 
 
  /O 
 
    filename3 指定在哪个文件中储存经过排序的输入。 
 
                              如果没有指定,数据会被写入标准输出。指定 
 
                              输出文件比将标准输出重定向到同一个文件快。 
 
 
----------------------  
启动另一个窗口运行指定的程序或命令。 
 
START       
        
         
       
 
    "title"     在窗口标题栏中显示的标题。 
    path        起始目录 
    B           在不创建新窗口的情况下开始应用程序。 除非 
                启动 ^C 处理,否则该应用程序会忽略 ^C 处理; 
                 ^Break 是唯一可以中断该应用程序的方式 
    I           新环境是传递给 cmd.exe 的原始环境, 
                而不是当前环境 
    MIN         开始时窗口最小化 
    MAX         开始时窗口最大化 
    SEPARATE    在分开的空间内开始 16 位 Windows 程序 
    SHARED      在分共享的空间内开始 16 位 Windows 程序 
    LOW         在 IDLE 优先级类别开始应用程序  
    NORMAL      在 NORMAL 优先级类别开始应用程序 
    HIGH        在 HIGH 优先级类别开始应用程序 
    REALTIME    在 REALTIME 优先级类别开始应用程序 
    ABOVENORMAL 在 ABOVENORMAL 优先级类别开始应用程序 
    BELOWNORMAL 在 BELOWNORMAL 优先级类别开始应用程序 
    WAIT        启动应用程序并等候它结束 
    command/program 
                如果是内部 cmd 命令或批文件,那么该命令处理器是 
                用 /K 命令行开关运行 cmd.exe 的。这表示该窗口在命令运行 
                后仍然存在。 
 
                如果不是内部 cmd 命令或批文件,则是一个程序,并 
                作为窗口应用程序或控制台应用程序运行。 
 
    parameters  这些为传送到命令/程序的参数 
 
 
如果命令扩展名被启用,通过命令行或 START 命令的外部命令 
调用会如下改变: 
 
将文件名作为命令键入,非可执行文件    可以通过文件关联调用。 
    (例如, WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。 
    关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和 
     FTYPE 命令。 
 
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用 
    程序终止就返回命令提示。如果在命令脚本内执行,该新行为 
    则不会发生。 
 
如果执行的命令行的第一个符号是不带扩展名或路径修饰符的 
    字符串 "CMD","CMD" 会被COMSPEC 变量的数值所替换。这 
    防止从当前目录抓出 CMD.EXE。 
 
如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用 
    PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展 
    名。PATHEXT 变量的默认值是: 
 
        .COM;.EXE;.BAT;.CMD 
 
    请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。 
 
查找可执行文件时,如果没有相配的扩展名,看一看该名称是否 
与目录名相配。如果确实如此,START 会在那个路径上调用  
Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。 
----------------------  
将路径与驱动器号关联。 
 
SUBST path] 
SUBST drive1: /D 
 
  drive1:        指定要指派路径的虚拟驱动器。 
  path  指定物理驱动器和要指派给虚拟驱动器的 
                 路径。 
  /D             删除被替换的 (虚拟) 驱动器。 
 
不加任何参数键入 SUBST,可以显示当前虚拟驱动器的清单。 
----------------------  
显示或设置系统时间。 
 
TIME  
 
显示当前时间设置和输入新时间的提示,请键入 
不带参数的 TIME。要保留现有时间,请按 ENTER。 
 
如果命令扩展名被启用,DATE 命令会支持 /T 命令行开关;该命令行开关告诉 
命令只输出当前时间,但不提示输出新时间。 
----------------------  
设置命令提示窗口的窗口标题。 
 
TITLE  
 
  string       指定命令提示窗口的标题。 
----------------------  
以图形显示驱动器或路径的文件夹结构。 
 
TREE    
 
   /F   显示每个文件夹中文件的名称。 
   /A   使用 ASCII 字符,而不使用扩展字符。 
 
----------------------  
显示文本文件的内容。 
 
TYPE filename 
----------------------  
显示 Windows XP 版本。 
 
VER 
----------------------  
指示 cmd.exe 是否要验证文件是否已正确地写入磁盘。 
   
VERIFY  
 
要显示当前 VERIFY 设置,键入不带参数的 VERIFY。 
----------------------  
显示磁盘卷标和序列号(如果存在)。 
 
VOL  
----------------------  
复制文件和目录树。 
 
XCOPY source   ]  ]   
                                     
                                  
                           ...] 
 
  source       指定要复制的文件。 
  destination  指定新文件的位置和/或名称。 
  /A           只复制有存档属性集的文件, 
               但不改变属性。 
  /M           只复制有存档属性集的文件, 
               并关闭存档属性。 
  /D:m-d-y     复制在指定日期或指定日期以后更改的文件。 
               如果没有提供日期,只复制那些源时间 
               比目标时间新的文件。 
  /EXCLUDE:file1... 
               指定含有字符串的文件列表。每一个字符串 
               必须在文件的单独行中。如果有任何 
               字符串与要被复制的文件的绝对路径 
               相符,那个文件将不会得到复制。 
               例如,指定如 \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           复制文件审核设置(隐含 /O)。 
               现存目标文件。 
  /-Y          导致提示以确认改写一个 
               现存目标文件。 
  /Z            用重新启动模式复制网络文件。 
 
命令行开关 /Y 可以预先在 COPYCMD 环境变量中设置。 
这可能被命令行上的 /-Y 改写。 
 
    
 
 
 
  
 |