Windows Server 2003 DOS 命令集

来源:互联网 发布:赞美女网络词语 编辑:程序博客网 时间:2024/06/07 18:55

Windows Server 2003 DOS 命令集

有关某个命令的详细信息,请键入 HELP 命令名

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

ASSOC [.ext[=[fileType]]]

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

键入 ASSOC 而不带参数,显示当前文件关联。如果只用文件扩展
名调用 ASSOC,则显示那个文件扩展名的当前文件关联。如果不为
文件类型指定任何参数,命令会删除文件扩展名的关联。


*.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          设置或清除扩展式 CTRL+C 检查。

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

这个命令是为了与 DOS 系统的兼容而保留的,在 Windows
里不起作用。

如果命令扩展被启用,并且操作平台是 Windows,
BREAK 命令会在被调试程序调试时输入一个硬代码中断点。


*.BOOTCFG        设置 boot.ini 文件的属性以便控制启动加载。

BOOTCFG /parameter [arguments]

描述:
    此命令行工具可以用来在 BOOT.INI 文件中配置、查询、更改或删除
    启动项目设置。

参数列表:
    /Copy       生成一个现有的启动项目的副本。

    /Delete     从 BOOT.INI 文件删除现有启动项目。

    /Query      显示当前启动项目和它们的设置。

    /Raw        允许用户指定要添加的任何开关。

    /Timeout    允许用户更改超时值。

    /Default    允许用户更改默认启动项目。

    /EMS        允许用户为无头支持配置 /redirect 开关。

    /Debug      允许用户为远程调试指定端口和波特率。

    /Addsw      允许用户添加特定的开关。

    /Rmsw       允许用户删除特定的开关。

    /Dbg1394    允许用户为调试配置 1394 端口。

    /?          显示帮助消息。

示例:
    BOOTCFG /Copy /?
    BOOTCFG /Delete /?
    BOOTCFG /Query /?
    BOOTCFG /Raw /?
    BOOTCFG /Timeout /?
    BOOTCFG /EMS /?
    BOOTCFG /Debug /?
    BOOTCFG /Addsw /?
    BOOTCFG /Rmsw /?
    BOOTCFG /Dbg1394 /?
    BOOTCFG /Default /?
    BOOTCFG /?



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

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

CACLS filename [/T] [/M] [/S[:SDDL]] [/E] [/C] [/G user:perm] [/R user [...]]
               [/P user:perm [...]] [/D user [...]]
   filename      Displays ACLs.
   /T            更改当前目录及其所有子目录中指定
                 文件的 ACL。
   /M            将装入卷的 ACL 更改到目录。
   /S            显示 DACL 的 SDDL 字符串。
   /S:SDDL       用 SDDL 字符串中指定的 ACL 替换
                 (与 /E、/G、/R、/P 或 /D 一起使用时无效)。
   /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 drive: 显示指定驱动器中的当前目录。
不带参数只键入 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 drive: 显示指定驱动器中的当前目录。
不带参数只键入 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\r
CHKNTFS /X volume [...]
CHKNTFS /C volume [...]

  volume         指定驱动器号(后面跟一个冒号)、装入点或卷名。
  /D             将计算机恢复成默认状态,启动时检查所有驱动器,并对有问
                 题的驱动器执行 chkdsk 命令。
  /T:time        将 AUTOCHK 初始递减计数时间改成指定的时间,单位为秒数。
                 如果没有指定时间,则显示当前设置。
  /X             排除启动时不作检查的驱动器。上次执行此命令排除的驱动器此
                 时无效。
  /C             安排启动时检查驱动器,如果驱动器有问题,运行 chkdsk。

如果没有指定命令行开关,CHKNTFS 会显示每一驱动器有问题的位的状态。



*.CLS            清除屏幕。

清除屏幕。

CLS


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


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

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! 扩展变量 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 所有调用的扩展,这要通过设置使用
REGEDT.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

有关特定详细信息,请键入 commandname /? 查看。

延迟环境变量扩展不按默认值启用。您可以用/V:ON 或 /V:OFF
开关,为 CMD.EXE 的某个调用而启用或停用延迟环境变量扩展。
您可以在机器上和/或用户登录会话上启用或停用 CMD.EXE 所有
调用的延迟扩展,这要通过设置使用 REGEDT.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 所有调用的完成,
这可以通过使用 REGEDIT.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          设置默认控制台前景和背景颜色。


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

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 分区上文件的压缩。


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

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

  /C        压缩指定的文件。会给目录作标记,这样以后添加的文件
            会得到压缩。
  /U        解压缩指定的文件。会给目录作标记,这样以后添加的文
            件不会得到压缩。
  /S        在指定的目录和所有子目录中的文件上执行指定操作。
            默认 "dir"是当前目录。
  /A        显示具有隐藏或系统属性的文件。在默认
            情况下,这些文件都是被忽略的。
  /I        即使在错误发生后,依然继续执行指定的操作。在默认情况
            下,COMPACT 在遇到错误时会停止。
  /F        在所有指定文件上强制压缩操作,包括已被压缩的文件。
            在默认情况下,已经压缩的文件被忽略。
  /Q        只报告最重要的信息。
  filename  指定类型、文件和目录。

  不跟参数一起使用时,COMPACT 显示当前目录及其所含文件的
  压缩状态。您可以使用多个文件名和通配符。在多个参数之间
  必须加空格。


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


将 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          显示为非 8.3 文件名产生的短名称。格式是 /N 的格式,
              短名称插在长名称前面。如果没有短名称,在其位置则
              显示空白。
  /4          用四位数字显示年

可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
来替代预先设定的开关。例如,/-W。



*.DISKCOMP       比较两个软盘的内容。


比较两张软盘的内容。

DISKCOMP [drive1: [drive2:]]


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


把一张软盘的内容复制到另一张。

DISKCOPY [drive1: [drive2:]] [/V]

  /V   校验信息复制得是否正确。

两张软盘的类型必须相同。
您可以为 drive1 和 drive2 指定同样的驱动器。


*.DISKPART       显示或配置磁盘分区属性。


Microsoft DiskPart Copyright (C) 1999-2001 Microsoft Corporation.
On computer: XABC10255

Microsoft DiskPart 语法:
        diskpart [/s <script>] [/?]

        /s <script> - 使用一个 DiskPart 脚本。
        /?          - 显示这个帮助屏幕。



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

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

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 相同。
$*     以命令行中命令名称后面的任何内容替换的符号。


*.DRIVERQUERY    显示当前设备驱动程序状态和属性。


DRIVERQUERY [/S system [/U username [/P [password]]]]
              [/FO format] [/NH] [/SI] [/V]
描述:
    允许管理员显示已安装设备驱动程序
    的列表。

参数列表:
      /S     system           指定要连接到的远程系统。

      /U     [domain\]user    执行命令执行的用户上下文。

      /P     [password]       指定所给用户上下文的密码。

      /FO    format           指定要显示的结果类型。与命令行开关一起传递
                              的有效值是 "TABLE"、"LIST"、" CSV"。

      /NH                     指定“列标题”不应该在屏幕输出中
                              出现。只对 "TABLE" 和 "CSV" 格式有效。

      /SI                     提供有关已签名驱动程序的信息。

      /V                      显示详细任务输出。对签名的驱动程序无效。

      /?                      显示该帮助消息。

例如:
    DRIVERQUERY
    DRIVERQUERY /FO CSV /SI
    DRIVERQUERY /NH
    DRIVERQUERY /S ipaddress /U user /V
    DRIVERQUERY /S system /U domain\user /P password /FO LIST



*.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 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。




*.EVENTQUERY     显示指定准则的事件日志项目。


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


退出 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 的文字用法
  \<xyz    字位置: 字的开始
  xyz\>    字位置: 字的结束

有关 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) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
    序列 (5 4 3 2 1)。

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 使用。


格式化磁盘以供 Windows 使用。

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 个字节的扇区)。
                  EXFAT 支持 512、1024、2048、4096、8192、16K、32K、64K、
                  128K、256K、512k、1M、2M、4M、8M、16M、32M。

                  请注意,FAT 及 FAT32 文件系统对卷上的群集数量施加以下限制:

                  FAT: 群集数量 <= 65526
                  FAT32: 65526 < 群集数量 < 4177918

                  如果判定使用指定的群集大小无法满足以上需求,将立即停止格式化。


                 大于 4096 的分配单元大小不支持 NTFS 压缩。

  /F:size         指定要格式化的软盘大小(1.44)
  /T:tracks       为磁盘指定每面磁道数。
  /N:sectors      指定每条磁道的扇区数。


*.FSUTIL         显示或配置文件系统的属性。


/? 是无效参数。
---- 支持的命令 ----

behavior        控制文件系统行为
dirty           管理卷的被损坏的位数
file            文件特定命令
fsinfo          文件系统信息
hardlink        硬链接管理
objectid        对象 ID 管理
quota           配额管理
reparsepoint    重分析点管理
sparse          稀疏文件控制
usn             USN 管理
volume          卷管理


*.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.pl 1 2 3

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

    set PATHEXT=.pl;%PATHEXT%

被启动的脚本如下:

    script 1 2 3



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


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

GOTO label

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

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

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

GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前
批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的
办法。有关能使该功能有用的 CALL 命令的扩展描述,请键入
CALL /?。


*.GPRESULT       显示机器或用户的组策略信息。


GPRESULT [/S system [/U username [/P [password]]]] [/SCOPE scope]
         [/USER targetusername] [/V | /Z]

描述:
    此命令行工具显示目标用户和计算机的策略结果集 (RSoP) 的信息。

参数列表:
    /S        system           指定要连接到的远程系统。

    /U        [domain\]user    指定命令在其下执行的用户上下文。

    /P        [password]       为给定的用户上下文指定密码。如果省
                               略则提示输入。

    /SCOPE    scope            指定是显示用户还是计算机设置。
                               有效值: "USER","COMPUTER"。

    /USER     [domain\]user    指定要显示 RSOP 的用户名称。


    /V                         指定要显示详细信息。详细信息提供
                               已经应用的、优先权是 1 的详细设置。

    /Z                         指定显示超详细信息。超详细信息提供其他
                               详细设置,用 1 或更高的优先权应用于此
                               设置。这允许您查看是否在多处设置了某一
                               设置。请参阅组策略联机帮助主题获得更多
                               信息。


    /?                         显示该帮助消息。

注意: 如果不带参数运行 GPresult,它将返回运行该命令的计算机上的当前
      登录用户的 RSoP 数据。

示例:
    GPRESULT
    GPRESULT /USER targetusername /V
    GPRESULT /S system /USER targetusername /SCOPE COMPUTER /Z
    GPRESULT /S system /U username /P password /SCOPE USER /V



*.GRAFTABL       启用 Windows 在图形模式显示扩展字符集。


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

GRAFTABL [xxx]
GRAFTABL /STATUS

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




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


提供 Windows 命令的帮助信息。

HELP [command]

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


*.IF             在批处理程序中执行有条件的处理过程。


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

IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command

  NOT               指定只有条件为 false 的情况下,Windows 才
                    应该执行该命令。

  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] string1 compare-op string2 command
    IF CMDEXTVERSION number command
    IF DEFINED variable command

其中, compare-op 可以是:

    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]
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       退出
    =       显示行号
    ?       显示帮助行
    <space> 显示下一页
    <ret>   显示下一行


*.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 命令是从一个批脚本内
执行的,覆盖时都发出提示。



*.OPENFILES      显示远程用户为了文件共享而打开的文件。


OPENFILES /parameter [arguments]

描述:
    允许管理员列出或中断系统上已打开的文件和文件夹。

参数列表:
    /Disconnect      中断至少一个打开的文件的连接。

    /Query           显示所有从本地或从共享文件夹打开的文件。

    /Local           启用 / 禁用本地打开文件的显示。

    /?               显示该帮助消息。

示例:
    OPENFILES /Disconnect /?
    OPENFILES /Query /?
    OPENFILES /Local /?


*.PAGEFILECONFIG 显示或配置页面文件的属性。


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


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

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

键入 PATH ; 清除所有搜索路径设置并指示 cmd.exe 只在当前
目录中搜索。
键入 PATH 但不加参数,显示当前路径。
将 %PATH% 包括在新的路径设置中会将旧路径附加到新设置。



*.PAUSE          停止批处理文件的处理并显示信息。


暂停批处理程序,并显示以下消息:
    请按任意键继续. . .


*.POPD           还原由 PUSHD 保存的当前目录上一次的值。


更改到 PUSHD 命令存储的目录。

POPD


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



*.PRINT          打印一个文本文件。


打印文本文件。

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

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


*.PROMPT         改变 Windows 命令提示。


更改 cmd.exe 命令提示符。

PROMPT [text]

  text    指定新的命令提示符。

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

  $A   & (短 and 符号)
  $B   | (管道)
  $C   ( (左括弧)
  $D   当前日期
  $E   Escape 码(ASCII 码 27)
  $F   ) (右括弧)
  $G   > (大于符号)
  $H   Backspace (擦除前一个字符)
  $L   < (小于符号)
  $N   当前驱动器
  $P   当前驱动器及路径
  $Q   = (等号)
  $S     (空格)
  $T   当前时间
  $V   Windows 版本号
  $_   换行
  $$   $ (货币符号)

如果命令扩展被启用,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 帮助内的联机命令参考。



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


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

REM [comment]



*.REN            重新命名文件。


重命名文件。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

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


*.RENAME         重新命名文件。


重命名文件。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

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



*.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            显示、设置或删除 Windows 环境变量。


显示、设置或删除 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 "!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       开始用批文件改变环境的本地化。


开始批处理文件中环境改动的本地化操作。在执行 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 值初始化成非零值。


*.SC             显示或配置服务(后台处理)。


错误:  未知命令

描述:
        SC 是用于与服务控制管理器通信的命令行程序。
用法:
        sc <server> [command] [service name] <option1> <option2>...


        选项 <server> 的格式为 "\\ServerName"
        可以键入 "sc [command]"以获得命令的进一步帮助
        命令:
          query-----------查询服务的状态,
                          或枚举服务类型的状态。
          queryex---------查询服务的扩展状态,
                          或枚举服务类型的状态。
          start-----------启动服务。
          pause-----------发送 PAUSE 控制请求到服务。
          interrogate-----发送 INTERROGATE 控制请求到服务。
          continue--------发送 CONTINUE 控制请求到服务。
          stop------------发送 STOP 请求到服务。
          config----------(永久地)更改服务的配置。
          description-----更改服务的描述。
          failure---------更改服务失败时所进行的操作。
          qc--------------查询服务的配置信息。
          qdescription----查询服务的描述。
          qfailure--------查询失败服务所进行的操作。
          delete----------(从注册表)删除服务。
          create----------创建服务(将其添加到注册表)。
          control---------发送控制到服务。
          sdshow----------显示服务的安全描述符。
          sdset-----------设置服务的安全描述符。
          GetDisplayName--获取服务的 DisplayName。
          GetKeyName------获取服务的 ServiceKeyName。
          EnumDepend------枚举服务的依存关系。

        下列命令不查询服务名称:
        sc <server> <command> <option>
          boot------------(ok | bad) 表明是否将上一次启动保存为
                          最后所知的好的启动配置
          Lock------------锁定服务数据库
          QueryLock-------查询 SCManager 数据库的 LockStatus
示例:
        sc start MyService

您想查阅 QUERY 和 QUERYEX 命令的帮助吗? [ y | n ]:



*.SCHTASKS       安排命令和程序在一部计算机上按计划运行。


SCHTASKS /parameter [arguments]

描述:
    允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任
    务。替代 AT.exe。

参数列表:
    /Create         创建新计划任务。

    /Delete         删除计划任务。

    /Query          显示所有计划任务。

    /Change         更改计划任务属性。

    /Run            立即运行计划任务。

    /End            中止当前正在运行的计划任务。

    /?              显示帮助消息。

示例:
    SCHTASKS
    SCHTASKS /?
    SCHTASKS /Run /?
    SCHTASKS /End /?
    SCHTASKS /Create /?
    SCHTASKS /Delete /?
    SCHTASKS /Query  /?
    SCHTASKS /Change /?


*.SHIFT          调整批处理文件中可替换参数的位置。


更改批处理文件中可替换参数的位置。

SHIFT [/n]

如果命令扩展被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉
命令从第 n 个参数开始移位;n 介于零和八之间。例如:

    SHIFT /2

会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。



*.SHUTDOWN       让机器在本地或远程正确关闭。


更改批处理文件中可替换参数的位置。

SHIFT [/n]

如果命令扩展被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉
命令从第 n 个参数开始移位;n 介于零和八之间。例如:

    SHIFT /2

会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。

C:\Documents and Settings\Administrator>SHUTDOWN /?
用法: SHUTDOWN [/i | /l | /s | /r | /a | /p | /h | /e] [/f]
    [/m \\computer][/t xxx][/d [p:]xx:yy [/c "comment"]]

    没有参数   显示帮助。这与键入 /? 是一样的
    /?         显示帮助。这与不键入任何选项是一样的
    /i         显示图形用户界面(GUI)。
               这必须是第一个选项
    /l         注销。这不能与 /m 或 /d 选项一起使用
    /s         关闭计算机
    /r         关闭并重启动计算机
    /a         放弃系统关闭。
               这只能在超时过程中使用
    /p         关闭本地计算机,没有超时或警告。
               这只能与 /d 选项一起使用
    /h         休眠本地计算机。
               这只能与 /f 选项一起使用
    /e         将计算机的意外关闭原因记入文档
    /m \\computer 指定目标计算机
    /t xxx     设置关闭前的超时为 xxx 秒。
               有效范围是 0-600,默认为 30
    /c "comment" 重启动或关闭的原因的注释。
               最大允许 127 个字符
    /f         强制正在运行的应用程序关闭而不事先警告用户
    /d [p:]xx:yy  提供重启动或关闭的原因
               p 表明重启动或关闭是计划内的
               xx 是主要原因号(小于 256 的正整数)
               yy 是次要原因号(小于 65536 的正整数)

此计算机上的原因:
(E = 预期 U = 意外 P = 计划, C = 自定义)
类别    主要    次要    标题

 U      0       0       其他(没有计划的)
E       0       0       其他(没有计划的)
E P     0       0       其他(计划的)
 U      0       5       其他故障: 系统没有反应
E       1       1       硬件: 维护(没有计划的)
E P     1       1       硬件: 维护(计划的)
E       1       2       硬件: 安装(没有计划的)
E P     1       2       硬件: 安装(计划的)
  P     2       3       操作系统: 升级(计划的)
E       2       4       操作系统: 重新配置(没有计划的)
E P     2       4       操作系统: 重新配置(计划的)
  P     2       16      操作系统: 服务包(计划中)
        2       17      操作系统: 热修补(没有计划)
  P     2       17      操作系统: 热修补(计划中)
        2       18      操作系统: 安全修补(没有计划)
  P     2       18      操作系统: 安全修补(计划中)
E       4       1       应用程序: 维护(没有计划的)
E P     4       1       应用程序: 维护(计划的)
E P     4       2       应用程序: 安装(计划中)
E       4       5       应用程序: 没有反应
E       4       6       应用程序: 不稳定
 U      5       15      系统故障: 停止错误
E       5       19      安全问题
 U      5       19      安全问题
E P     5       19      安全问题
E       5       20      网络连接性丢失(没有计划的)
 U      6       11      电源故障: 电线被拔掉
 U      6       12      电源故障: 环境
  P     7       0       旧版 API 关机


*.SORT           将输入排序。


SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes]
  [[drive1:][path1]filename1] [/T [drive2:][path2]]
  [/O [drive3:][path3]filename3]
  /+n                         指定开始每个比较的字符号码 n。/+3 说明每个
                              比较应从每行的第三个字符开始。少于 n 个字符
                              的行排在其他行之前。按默认值,从每行的第一
                              个字符开始比较。
  /L[OCALE] locale            用指定的区域设置替代系统默认区域设置。
                              ""C"" 区域设置产生最快的排序顺序并且是当前
                              的唯一其他选择。排序总是不分大小写的。
  /M[EMORY] kilobytes         指定用于排序的主内存量,单位为 KB。
                              最小内存量总是 160 KB。如果指定内存大小,
                              无论主内存的可用量是多少,指定的内存量会
                              全部用于排序。

                              要取得最佳性能,通常不指定内存大小。按默认
                              值,如果达到默认最大内存值,排序会一次完成
                              (非临时文件);否则,排序会分两次完成(没有
                              完全排序的数据存储在临时文件中);用于排序
                              和合并的内存量相等。如果输入和输出都是文
                              件,默认最大内存量为可用主内存的 90%;
                              否则,为主内存的 45%。
  /REC[ORD_MAXIMUM] characters 指定记录中的最大字符数量
                              (默认值为 4096,最大值为 65535)。
  /R[EVERSE]                  颠倒排序顺序,即,从 Z 到 A,再从 9 到 0。
  [drive1:][path1]filename1   指定要排序的文件。如果没有指定,则排序标准
                              输入。指定输入文件比将同一个文件重定向为标
                              准输入快。
  /T[EMPORARY]
    [drive2:][path2]          指定保留排序工作存储的目录路径,以防主内
                              存无法容纳数据。默认值是使用系统临时目录。
  /O[UTPUT]
    [drive3:][path3]filename3 指定在哪个文件中储存经过排序的输入。
                              如果没有指定,数据会被写入标准输出。指定
                              输出文件比将标准输出重定向到同一个文件快。



*.START          打开单独视窗运行指定程序或命令。


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

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/AFFINITY <hex affinity>] [/WAIT] [/B] [command/program]
      [parameters]

    "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 优先级类中启动应用程序
    AFFINITY    新应用程序将拥有指定处理器关系掩码,
                以十六进制数表示。
    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          将驱动器号与路径关联。


将路径与驱动器号关联。

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        指定要指派路径的虚拟驱动器。
  [drive2:]path  指定物理驱动器和要指派给虚拟驱动器的路径。
  /D             删除被替换的 (虚拟) 驱动器。

不加任何参数键入 SUBST,可以显示当前虚拟驱动器的清单。


*.SYSTEMINFO     显示机器的具体的属性和配置。


SYSTEMINFO [/S system [/U username [/P [password]]]] [/FO format] [/NH]

描述:
    该工具显示本地或远程机器(包括服务包级别)的操作系统配置的信息。

参数列表:
    /S      system           指定连接到的远程系统。

    /U      [domain\]user    指定应该在哪个用户上下文执行命令。

    /P      [password]       为提供的用户上下文指定密码。

    /FO     format           指定显示结果的格式。
                             有效值: "TABLE"、"LIST"、"CSV"。

    /NH                      指定“列标题”不应该在结果中显示。
                             只对 TABLE 和 CSV 格式有效。

    /?                       显示帮助消息。


例如:
    SYSTEMINFO
    SYSTEMINFO /?
    SYSTEMINFO /S system
    SYSTEMINFO /S system /U user
    SYSTEMINFO /S system /U domain\user /P password /FO TABLE
    SYSTEMINFO /S system /FO LIST
    SYSTEMINFO /S system /FO CSV /NH



*.TASKLIST       显示包括服务的所有当前运行的任务。


TASKLIST [/S system [/U username [/P [password]]]]
         [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

描述:
    该工具显示在本地或远程机器上当前运行的进程列表。

参数列表:
   /S     system           指定连接到的远程系统。

   /U     [domain\]user    指定应该在哪个用户上下文执行这个命令。

   /P     [password]       为提供的用户上下文指定密码。如果忽略,提示
                           输入。

   /M     [module]         列出当前使用所给 exe/dll 名称的所有任务。
                           如果没有指定模块名称,显示所有加载的模块。

   /SVC                    显示每个进程中主持的服务。

   /V                      显示详述任务信息。

   /FI    filter           显示一系列符合筛选器指定的标准的任务。

   /FO    format           指定输出格式。
                           有效值: "TABLE"、"LIST"、"CSV"。

   /NH                     指定列标题不应该在输出中显示。
                           只对 "TABLE" 和 "CSV" 格式有效。

   /?                      显示帮助消息。


筛选器:
    筛选器名        有效操作符                有效值
    -----------     ---------------           --------------------------
    STATUS          eq, ne                    RUNNING |
                                              NOT RESPONDING | UNKNOWN
    IMAGENAME       eq, ne                    映像名称
    PID             eq, ne, gt, lt, ge, le    PID 值
    SESSION         eq, ne, gt, lt, ge, le    会话编号
    SESSIONNAME     eq, ne                    会话名
    CPUTIME         eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                              hh:mm:ss。
                                              hh - 时,
                                              mm - 分,ss - 秒
    MEMUSAGE        eq, ne, gt, lt, ge, le    内存使用量,单位为 KB
    USERNAME        eq, ne                    用户名,格式为 [domain\]user
    SERVICES        eq, ne                    服务名称
    WINDOWTITLE     eq, ne                    窗口标题
    MODULES         eq, ne                    DLL 名称

说明: 当查询远程机器时,不支持 "WINDOWTITLE" 和 "STATUS"
      筛选器。

示例:
    TASKLIST
    TASKLIST /M
    TASKLIST /V /FO CSV
    TASKLIST /SVC /FO LIST
    TASKLIST /M wbem*
    TASKLIST /S system /FO LIST
    TASKLIST /S system /U domain\username /FO CSV /NH
    TASKLIST /S system /U username /P password /FO TABLE /NH
    TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"


*.TASKKILL       终止正在运行的进程或应用程序。


TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

描述:
    使用该工具按照进程 ID (PID) 或映像名称终止任务。

参数列表:
    /S    system           指定要连接到的远程系统。

    /U    [domain\]user    指定应该在哪个用户上下文执行这个命令。

    /P    [password]       为提供的用户上下文指定密码。如果忽略,提示
                           输入。

    /FI   filter           应用筛选器以选择一组任务。
                           允许使用 "*"。例如,映像名称 eq acme*

    /PID  processid        指定要终止的进程的 PID。
                           使用 TaskList 取得 PID。

    /IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来
                           指定所有任务或映像名称。

    /T                     终止指定的进程和由它启用的子进程。

    /F                     指定强制终止进程。

    /?                     显示帮助消息。

筛选器:
    筛选器名      有效运算符                有效值
    -----------   ---------------           -------------------------
    STATUS        eq, ne                    RUNNING |
                                            NOT RESPONDING | UNKNOWN
    IMAGENAME     eq, ne                    映像名称
    PID           eq, ne, gt, lt, ge, le    PID 值
    SESSION       eq, ne, gt, lt, ge, le    会话编号。
    CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                            hh:mm:ss。
                                            hh - 时,
                                            mm - 分,ss - 秒
    MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KB
    USERNAME      eq, ne                    用户名,格式为 [domain\]user
    MODULES       eq, ne                    DLL 名称
    SERVICES      eq, ne                    服务名称
    WINDOWTITLE   eq, ne                    窗口标题

    说明
    ----
    1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。
    2) 远程进程总是要强行 (/F) 终止。
    3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。

例如:
    TASKKILL /IM notepad.exe
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM cmd.exe /T
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"



*.TIME           显示或设置系统时间。


显示或设置系统时间。

TIME [/T | time]

显示当前时间设置和输入新时间的提示,请键入
不带参数的 TIME。要保留现有时间,请按 ENTER。

如果命令扩展被启用,TIME 命令会支持 /T 命令行开关;该命令行开关告诉
命令只输出当前时间,但不提示输入新时间。



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


设置命令提示窗口的窗口标题。

TITLE [string]

  string       指定命令提示窗口的标题。


*.TREE           以图形显示启动器或路径的目录结构。


以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]

   /F   显示每个文件夹中文件的名称。
   /A   使用 ASCII 字符,而不使用扩展字符。



*.TYPE           显示文本文件的内容。


显示文本文件的内容。

TYPE [drive:][path]filename


*.VER            显示 Windows 的版本。


*.VERIFY         告诉 Windows 验证文件是否正确写入磁盘。


指示 cmd.exe 是否要验证文件是否已正确地写入磁盘。

VERIFY [ON | OFF]

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



*.VOL            显示磁盘卷标和序列号。


显示磁盘卷标和序列号(如果存在)。

VOL [drive:]

*.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           复制文件审核设置(隐含 /O)。
               现存目标文件。
  /-Y          导致提示以确认改写一个
               现存目标文件。
  /Z            用重新启动模式复制网络文件。

命令行开关 /Y 可以预先在 COPYCMD 环境变量中设置。
这可能被命令行上的 /-Y 改写。



*.WMIC           在交互命令外壳里显示 WMI 信息。


显示磁盘卷标和序列号(如果存在)。

VOL [drive:]

C:\Documents and Settings\Administrator>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           复制文件审核设置(隐含 /O)。
               现存目标文件。
  /-Y          导致提示以确认改写一个
               现存目标文件。
  /Z            用重新启动模式复制网络文件。

命令行开关 /Y 可以预先在 COPYCMD 环境变量中设置。
这可能被命令行上的 /-Y 改写。

C:\Documents and Settings\Administrator>WMIC /?

[global switches] <command>

有效的全局开关有:
/NAMESPACE           别名使用的名称空间路径。
/ROLE                包含此别名定义的角色路径。
/NODE                别名使用的服务器。
/IMPLEVEL            客户端模拟级别。
/AUTHLEVEL           客户端身份验证级别。
/LOCALE              客户端应用的语言识别符。
/PRIVILEGES          启用或禁用所有特权。
/TRACE               将调试信息输出到 stderr。
/RECORD              将所有输入命令和输出写入日志。
/INTERACTIVE         设置或重设交互模式。
/FAILFAST            设置或重置 FailFast 模式。
/USER                会话期间使用的用户。
/PASSWORD            用于会话登录的密码。
/OUTPUT              为输出重新定向指定模式。
/APPEND              为输出重新定向指定模式。
/AGGREGATE           设置或重置集合模式。
/AUTHORITY           指定连接的 <authority type>。
/?[:<BRIEF|FULL>]    用法信息。

有关具体全局开关的信息,请输入: switch-name /?


当前角色有下列别名。:
ALIAS                    - 访问本地机器上的别名
BASEBOARD                - 基板 (也叫母板或系统板) 管理。
BIOS                     - 基本输入/输出服务 (BIOS) 管理。
BOOTCONFIG               - 启动配置管理。
CDROM                    - CD-ROM 管理。
COMPUTERSYSTEM           - 计算机系统管理。
CPU                      - CPU 管理。
CSPRODUCT                - SMBIOS 的计算机系统产品信息。
DATAFILE                 - DataFile 管理。
DCOMAPP                  - DCOM 程序管理。
DESKTOP                  - 用户桌面管理。
DESKTOPMONITOR           - 监视器管理。
DEVICEMEMORYADDRESS      - 设备内存地址管理。
DISKDRIVE                - 物理磁盘驱动器管理。
DISKQUOTA                - NTFS 卷磁盘空间使用情况。
DMACHANNEL               - 直接内存访问(DMA)频道管理。
ENVIRONMENT              - 系统环境设置管理。
FSDIR                    - 文件目录系统项目管理。
GROUP                    - 组帐户管理。
IDECONTROLLER            - IDE 控制器管理。
IRQ                      - 间隔请求线 (IRQ) 管理。
JOB                      - 提供对使用计划服务安排的工作的访问。
LOADORDER                - 定义执行依存的系统服务管理。
LOGICALDISK              - 本地储存设备管理。
LOGON                    - 登录会话。
MEMCACHE                 - 缓存内存管理。
MEMLOGICAL               - 系统内存管理 (配置布局和内存可用性)。
MEMORYCHIP               - 内存芯片信息。
MEMPHYSICAL              - 计算机系统物理内存管理。
NETCLIENT                - 网络客户端管理。
NETLOGIN                 - (某一用户的)网络登录信息管理。
NETPROTOCOL              - 协议 (和其网络特点) 管理。
NETUSE                   - 活动网络连接管理。
NIC                      - 网络界面控制器 (NIC) 管理。
NICCONFIG                - 网络适配器管理。
NTDOMAIN                 - NT 域管理。
NTEVENT                  - NT 事件日志的项目
NTEVENTLOG               - NT 时间日志文件管理。
ONBOARDDEVICE            - 母板(系统板)内置普通适配器设备的管理。
OS                       - 已安装的操作系统管理。
PAGEFILE                 - 虚拟内存文件对调管理。
PAGEFILESET              - 页面文件设置管理。
PARTITION                - 物理磁盘分区区域的管理。
PORT                     - I/O 端口管理。
PORTCONNECTOR            - 物理连接端口管理。
PRINTER                  - 打印机设备管理。
PRINTERCONFIG            - 打印机设备配置管理。
PRINTJOB                 - 打印工作管理。
PROCESS                  - 进程管理。
PRODUCT                  - 安装包任务管理。
QFE                      - 快速故障排除。
QUOTASETTING             - 设置卷的磁盘配额信息。
RDACCOUNT                - 远程桌面连接许可管理。
RDNIC                    - 管理在特定网络适配器上的远程桌面连接。
RDPERMISSIONS            - 到一个特定远程桌面连接的许可。
RDTOGGLE                 - 远程打开或关闭远程桌面侦听器。
RECOVEROS                - 当操作系统失败时,将从内存收集的信息。
REGISTRY                 - 计算机系统注册表管理。
SCSICONTROLLER           - SCSI 控制器管理。
SERVER                   - 服务器信息管理。
SERVICE                  - 服务程序管理。
SHADOWCOPY               - 卷影复制管理。
SHADOWSTORAGE            - 卷影复制存储区管理。
SHARE                    - 共享资源管理。
SOFTWAREELEMENT          - 安装在系统上的软件产品元素的管理。
SOFTWAREFEATURE          - SoftwareElement 的软件产品组件的管理。
SOUNDDEV                 - 声音设备管理。
STARTUP                  - 用户登录到计算机系统时自动运行命令的管理。
SYSACCOUNT               - 系统帐户管理。
SYSDRIVER                - 基本服务的系统驱动程序管理。
SYSTEMENCLOSURE          - 物理系统封闭管理。
SYSTEMSLOT               - 包括端口、插口、附件和主要连接点的物理连接点管理。
TAPEDRIVE                - 磁带驱动器管理。
TEMPERATURE              - 温度感应器的数据管理 (电子温度表)。
TIMEZONE                 - 时区数据管理。
UPS                      - 不间断电源供应(UPS)管理。
USERACCOUNT              - 用户帐户管理。
VOLTAGE                  - 电压感应器 (电子电量计) 数据管理。
VOLUME                   - 本地存储卷管理。
VOLUMEQUOTASETTING       - 将某一磁盘卷与磁盘配额设置关联。
VOLUMEUSERQUOTA          - 每用户存储卷配额管理。
WMISET                   - WMI 服务操作参数管理。

有关具体别名的信息,请输入: alias /?

CLASS     - 按 ESC 键回到完整的 WMI 架构。
PATH      - 按 ESC 键回到完整的 WMI 对象路径。
CONTEXT   - 显示所有全局开关的状态。
QUIT/EXIT - 退出此程序。