无标题文章

[TOC] ##Assoc 显示或修改文件扩展名关联 Assoc [.Ext[=[Filetype]]]  .Ext      指定跟文件类型关联的文件扩展名  Filetype  指定跟文件扩展名关联的文件类型  键入 Assoc 而不带参数显示当前文件关联。如果只用文件扩展 名调用 Assoc则显示那个文件扩展名的当前文件关联。如果不为 文件类型指定任何参数命令会删除文件扩展名的关联。  ##At At 命令安排在特定日期和时间运行命令和程序。 要使用 At 命令计划服务必须已在运行中。  At [\\Computername] [ [Id] [/Delete] | /Delete [/Yes]] At [\\Computername] Time [/Interactive]    [ /Every:Date[,...] | /Next:Date[,...]] "Command" \\Computername      指定远程计算机。 如果省略这个参数                      会计划在本地计算机上运行命令。 Id                  指定给已计划命令的识别号。 /Delete              删除某个已计划的命令。如果省略 Id                      计算机上所有已计划的命令都会被删除。 /Yes                不需要进一步确认时跟删除所有作业                      的命令一起使用。 Time                指定运行命令的时间。 /Interactive        允许作业在运行时与当时登录的用户                      桌面进行交互。 /Every:Date[,...]    每个月或每个星期在指定的日期运行命                      令。如果省略日期则默认为在每月的                      本日运行。 /Next:Date[,...]    指定在下一个指定日期(如下周四)运                      行命令。如果省略日期则默认为在每                      月的本日运行。 "Command"            准备运行的 Windows Nt 命令或批处理                      程序。 ##Attrib 显示或更改文件属性。 Attrib [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[Drive:] [Path] Filename] [/S [ /D]]  +  设置属性。  -    清除属性。  R  只读文件属性。  A  存档文件属性。  S  系统文件属性。  H  隐藏文件属性。    [Drive:][Path][Filename]      指定要处理的文件属性。  /S  处理当前文件夹及其子文件夹中的匹配文件。  /D  也处理文件夹。 ##Break 设置或清除 Dos 系统的扩展 Ctrl+C 检测  这个命令是为了与 Dos 系统的兼容而保留的在 Windows Xp 里不起作用。  如果命令扩展名被启用并且操作平台是 Windows Xp Break 命令会在被调试程序调试时输入一个硬代码中断点。  ##Cacls 显示或者修改文件的访问控制表(Acl)  Cacls Filename [/T] [/E] [/C] [/G User:Perm] [/R User [...]]                [/P User:Perm [...]] [/D User [...]]    Filename      显示 Acl。    /T            更改当前目录及其所有子目录中                  指定文件的 Acl。    /E            编辑 Acl 而不替换。    /C            在出现拒绝访问错误时继续。    /G User:Perm  赋予指定用户访问权限。                  Perm 可以是: R  读取                              W  写入                              C  更改(写入)                              F  完全控制    /R User      撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。    /P User:Perm  替换指定用户的访问权限。                  Perm 可以是: N  无                              R  读取                              W  写入                              C  更改(写入)                              F  完全控制    /D User      拒绝指定用户的访问。 在命令中可以使用通配符指定多个文件。 也可以在命令中指定多个用户。  缩写:    Ci - 容器继承。        Ace 会由目录继承。      Oi - 对象继承。        Ace 会由文件继承。    Io - 只继承。        Ace 不适用于当前文件/目录。  ##Call 从批处理程序调用另一个批处理程序。  Call [Drive:][Path]Filename [Batch-Parameters]    Batch-Parameters  指定批处理程序所需的命令行信息。  如果命令扩展名被启用call 会如下改变:  Call 命令现在将卷标当作 Call 的目标接受。语法是:      Call:Label Arguments  一个新的批文件上下文由指定的参数所创建控制在卷标被指定 后传递到语句。您必须通过达到批脚本文件末两次来 "Exit" 两次。 第一次读到文件末时控制会回到 Call 语句的紧后面。第二次 会退出批脚本。键入 Goto /?参看 Goto  : Eof  扩展名的描述 此描述允许您从一个批脚本返回。  另外批脚本文本参数参照(%0、%1、等等)已如下改变:        批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)      批参数(%N)的替代已被增强。您可以使用以下语法:          %~1        - 删除引号(")扩充 %1          %~F1        - 将 %1 扩充到一个完全合格的路径名          %~D1        - 仅将 %1 扩充到一个驱动器号          %~P1        - 仅将 %1 扩充到一个路径          %~N1        - 仅将 %1 扩充到一个文件名          %~X1        - 仅将 %1 扩充到一个文件扩展名          %~S1        - 扩充的路径指含有短名          %~A1        - 将 %1 扩充到文件属性          %~T1        - 将 %1 扩充到文件的日期/时间          %~Z1        - 将 %1 扩充到文件的大小          %~$Path : 1 - 查找列在 Path 环境变量的目录并将 %1                        扩充到找到的第一个完全合格的名称。如果环境                        变量名未被定义或者没有找到文件此组合键会                          扩充到空字符串      可以组合修定符来取得多重结果:          %~Dp1      - 只将 %1 扩展到驱动器号和路径        %~Nx1      - 只将 %1 扩展到文件名和扩展名        %~Dp$Path:1 - 在列在 Path 环境变量中的目录里查找 %1                        并扩展到找到的第一个文件的驱动器号和路径。        %~Ftza1    - 将 %1 扩展到类似 Dir 的输出行。      在上面的例子中%1 和 Path 可以被其他有效数值替换。    %~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*    使用 ##Cd 显示当前目录名或改变当前目录。  Chdir [/D] [Drive:][Path] Chdir [..] Cd [/D] [Drive:][Path] Cd [..]    ..  指定要改成父目录。  键入 Cd 驱动器: 显示指定驱动器中的当前目录。 不带参数只键入 Cd则显示当前驱动器和目录。  使用 /D 命令行开关除了改变驱动器的当前目录之外 还可改变当前驱动器。  如果扩展命令名被启用chdir 会如下改变:  当前的目录字符串会被转换成使用磁盘名上的大小写。所以 如果磁盘上的大小写如此cd  C : \Temp 会将当前目录设为 C:\Temp。  Chdir 命令不把空格当作分隔符因此有可能将目录名改为一个 带有空格但不带有引号的子目录名。例如:      Cd \Winnt\Profiles\Username\Programs\Start Menu  与下列相同:      Cd "\Winnt\Profiles\Username\Programs\Start Menu"    在扩展功能停用的情况下您必须键入以上命令。  ##Chcp 显示或设置活动代码页编号。  Chcp [Nnn]    Nnn  指定代码页编号。  不加参数键入 Chcp 显示活动代码页编号。  ##Chdir 显示当前目录名或改变当前目录。  Chdir [/D] [Drive:][Path] Chdir [..] Cd [/D] [Drive:][Path] Cd [..]    ..  指定要改成父目录。  键入 Cd 驱动器: 显示指定驱动器中的当前目录。 不带参数只键入 Cd则显示当前驱动器和目录。  使用 /D 命令行开关除了改变驱动器的当前目录之外 还可改变当前驱动器。  如果扩展命令名被启用chdir 会如下改变:  当前的目录字符串会被转换成使用磁盘名上的大小写。所以 如果磁盘上的大小写如此cd  C : \Temp 会将当前目录设为 C:\Temp。  Chdir 命令不把空格当作分隔符因此有可能将目录名改为一个 带有空格但不带有引号的子目录名。例如:      Cd \Winnt\Profiles\Username\Programs\Start Menu  与下列相同:      Cd "\Winnt\Profiles\Username\Programs\Start Menu"  在扩展功能停用的情况下您必须键入以上命令。  ## Chkdsk 检查磁盘并显示状态报告。  Chkdsk [Volume[[Path]Filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:Size]]    Volume          指定驱动器(后面跟一个冒号)、装入点                  或卷名。  Filename        仅用于 Fat/Fat32: 指定要检查是否有碎片的文件。  /F              修复磁盘上的错误。  /V              在 Fat/Fat32 上: 显示磁盘上每个文件的完整路径和名称。                    在 Ntfs 上: 如果有清除消息将其显示。  /R              查找不正确的扇区并恢复可读信息(隐含 /F)。  /L:Size      仅用于 Ntfs:  将日志文件大小改成指定的 Kb 数。                    如果没有指定大小则显示当前的大小。  /X              如果必要强制卷先卸下。                    卷的所有打开的句柄就会无效(隐含 /F)。  /I                仅用于 Ntfs: 对索引项进行强度较小的检查。  /C              仅用于 Ntfs: 跳过文件夹结构的循环检查。  /I 和 /C 命令行开关跳过卷的某些检查减少运行 Chkdsk 所需的时间。  ##Chkntfs 在启动时显示或修改磁盘检查。  Chkntfs Volume [...] Chkntfs /D Chkntfs /T[:Time]\R\Nchkntfs /X Volume [...] Chkntfs /C Volume [...]    Volume:        指定驱动器(后面跟一个冒号)、装入点                  或卷名。  /D            将计算机恢复成默认状态 启动时检查所有驱动器                  并对有问题的驱动器执行 Chkdsk 命令。  /T:Time        将 Autochk 初始递减计数时间改成指定的                  时间量单位为秒数。如果没有指定                  时间则显示当前设置。  /X            排除启动时不作检查的驱动器。上次执行此命令                  排除的驱动器此时无效。  /C            安排启动时检查驱动器如果驱动器有问题运行 Chkdsk。  如果没有指定命令行开关chkntfs 会显示每一驱动器有问题的位的状态。  ## Cls 清除屏幕。 Cls  ##Cmd 启动 Windows Xp 命令解释程序一个新的实例  Cmd [/A | /U] [/Q] [/D] [/E:On | /E:Off] [/F:On | /F:Off] [/V:On | /V:Off]    [[/S] [/C | /K] String]  /C      执行字符串指定的命令然后终断 /K      执行字符串指定的命令但保留 /S      在 /C 或 /K 后修改字符串处理(见下) /Q      关闭回应 /D      从注册表中停用执行 Autorun 命令(见下) /A      使向内部管道或文件命令的输出成为 Ansi /U      使向内部管道或文件命令的输出成为 Unicode /T:Fg  设置前景/背景颜色(详细信息请见 Color /?) /E:On  启用命令扩展(见下) /E:Off  停用命令扩展(见下) /F:On  启用文件和目录名称完成字符 (见下) /F:Off  停用文件和目录名称完成字符(见下) /V:On  将 ! 作为定界符启动延缓环境变量扩展。如: /V:On 会        允许 !Var! 在执行时允许 !Var! 扩展变量 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)就会使用目录完成。  将引号将相符路径括起来完成代码可以正确处理含有空格 或其他特殊字符的文件名。同时如果备份然后从行内调用 文件完成完成被调用是位于光标右方的文字会被丢弃。  需要引号的特殊字符是:&()[]{}^=;!'+,`~  ##Color 设置默认的控制台前景和背景颜色。  Color [Attr]    Attr        指定控制台输出的颜色属性  颜色属性由两个十六进制数字指定 -- 第一个为背景第二个则为 前景。每个数字可以为以下任何值之一:      0 = 黑色      8 = 灰色    1 = 蓝色      9 = 淡蓝色    2 = 绿色      A = 淡绿色      3 = 湖蓝色    B = 淡浅绿色    4 = 红色      C = 淡红色    5 = 紫色      D = 淡紫色    6 = 黄色      E = 淡黄色    7 = 白色      F = 亮白色  如果没有给定任何参数该命令会将颜色还原到 Cmd.Exe 启动时 的颜色。这个值来自当前控制台窗口、/T 开关或 Defaultcolor 注册表值。  如果用相同的前景和背景颜色来执行 Color 命令color 命令 会将 Errorlevel 设置为 1。  例如: "Color Fc" 在亮白色上产生亮红色  ##Comp 比较两个文件或两个文件集的内容。  Comp [Data1] [Data2] [/D] [/A] [/L] [/N=Number] [/C] [/Off[Line]]    Data1      指定要比较的第一个文件的位置和名称。  Data2      指定要比较的第二个文件的位置和名称。  /D        用十进制格式显示不同处。  /A        用 Ascii 字符显示不同处。  /L        显示不同的行数。  /N=Number  只比较每个文件中第一个指定的行数。  /C        比较文件时不分 Ascii 字母的大小写。  /Off[Line] 不要跳过带有脱机属性集的文件。  要比较文件集在 Data1 和 Data2 参数中使用通配符。  ##Compact 显示或改变 Ntfs 分区上文件的压缩.  Compact [/C | /U] [/S[:Dir]] [/A] [/I] [/F] [/Q] [Filename [...]]    /C        压缩指定的文件。会给目录作标记这样以后添加的文件            会得到压缩。  /U        解压缩指定的文件。会给目录作标记这样以后添加的文            件不会得到压缩。  /S        在指定的目录和所有子目录中的文件上执行指定操作。            默认 "Dir"是当前目录。  /A        显示具有隐藏或系统属性的文件。在默认            情况下这些文件都是被忽略的。    /I        即使在错误发生后依然继续执行指定的操作。在默认情况            下compact 在遇到错误时会停止。  /F        在所有指定文件上强制压缩操作包括已被压缩的文件。            在默认情况下已经压缩的文件被忽略。  /Q        只报告最重要的信息。  Filename  指定类型、文件和目录。    不跟参数一起使用时compact 显示当前目录及其所含文件的  压缩状态。您可以使用多个文件名和通配符。在多个参数之间  必须加空格。 ##Convert 将 Fat 卷转换成 Ntfs。  Convert Volume /Fs:Ntfs [/V] [/Cvtarea:Filename] [/Nosecurity] [/X]    Volume      指定驱动器号(后面跟一个冒号)、              装载点或卷名。  /Fs:Ntfs    指定要被转换成 Ntfs 的卷。  /V          指定 Convert 应该用详述模式运行。  /Cvtarea:Filename              将根目录中的一个接续文件指定为              Ntfs 系统文件的占位符。  /Nosecurity 指定每个人都可以访问转换的文件              和目录的安全设置。  /X          如果必要先强行卸载卷。              该卷的所有打开的句柄则无效。  ##Copy 将一份或多份文件复制到另一个位置。  Copy [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] Source [/A | /B]      [+ Source [/A | /B] [+ ...]] [Destination [/A | /B]]    Source      指定要复制的文件。  /A          表示一个 Ascii 文本文件。  /B          表示一个二进位文件。  /D          允许解密要创建的目标文件  Destination  为新文件指定目录和/或文件名。  /V          验证新文件写入是否正确。  /N          复制带有非 8Dot3 名称的文件时                尽可能使用短文件名。  /Y          不使用确认是否要改写现有目标文件                的提示。  /-Y          使用确认是否要改写现有目标文件                  的提示。  /Z          用可重新启动模式复制已联网的文件。  命令行开关 /Y 可以在 Copycmd 环境变量中预先设定。 这可能会被命令行上的 /-Y 替代。除非 Copy 命令是在一个批文件脚本中执行的默认值应为 在改写时进行提示。  要附加文件请为目标指定一个文件为源指定 数个文件(用通配符或 File1+File2+File3 格式)。  ##Date 显示或设置日期。  Date  [/T | Date]  显示当前日期设置和输入新日期的提示请键入 不带参数的 Date。要保留现有日期请按 Enter。  如果命令扩展名被启用date 命令会支持 /T 开关 该开关指示命令只输出当前日期但不提示输出新日期。  ##Del 删除一个或数个文件。  Del [/P] [/F] [/S] [/Q] [/A[[:]Attributes]] Names Erase [/P] [/F] [/S] [/Q] [/A[[:]Attributes]] Names    Names        指定一个或数个文件或目录列表。通配符可被用来                删除多个文件。如果指定了一个目录目录中的所                有文件都会被删除。    /P            删除每一个文件之前提示确认。  /F            强制删除只读文件。  /S            从所有子目录删除指定文件。  /Q            安静模式。删除全局通配符时不要求确认。  /A            根据属性选择要删除的文件。  Attributes      R  只读文件                    S  系统文件                  H  隐藏文件                    A  存档文件                  -  表示“否”的前缀  如果命令扩展名被启用del 和 Erase 会如下改变:  /S 开关的显示句法会颠倒即只显示已经  删除的文件而不显示找不到的文件。  ##Dir 显示目录中的文件和子目录列表。  Dir [Drive:][Path][Filename] [/A[[:]Attributes]] [/B] [/C] [/D] [/L] [/N]  [/O[[:]Sortorder]] [/P] [/Q] [/S] [/T[[:]Timefield]] [/W] [/X] [/4]    [Drive:][Path][Filename]              指定要列出的驱动器、目录和/或文件。    /A          显示具有指定属性的文件。  Attributes  D  目录                R  只读文件                H  隐藏文件            A  准备存档的文件                S  系统文件            -  表示“否”的前缀  /B          使用空格式(没有标题信息或摘要)。  /C          在文件大小中显示千位数分隔符。这是默认值。用 /-C 来              停用分隔符显示。  /D          跟宽式相同但文件是按栏分类列出的。  /L          用小写。  /N          新的长列表格式其中文件名在最右边。  /O          用分类顺序列出文件。  Sortorder    N  按名称(字母顺序)    S  按大小(从小到大)                E  按扩展名(字母顺序)  D  按日期/时间(从先到后)                G  组目录优先          -  颠倒顺序的前缀  /P          在每个信息屏幕后暂停。  /Q          显示文件所有者。  /S          显示指定目录和所有子目录中的文件。  /T          控制显示或用来分类的时间字符域。  Timefield  C  创建时间              A  上次访问时间              W  上次写入的时间  /W          用宽列表格式。  /X          显示为非 8Dot3 文件名产生的短名称。格式是 /N 的格式              短名称插在长名称前面。如果没有短名称在其位置则              显示空白。  /4          用四位数字显示年  可以在 Dircmd 环境变量中预先设定开关。通过添加前缀 - (破折号) 来替代预先设定的开关。例如/-W。  ##Diskcomp 比较两张软盘的内容。    Diskcomp [Drive1: [Drive2:]]  ##Diskcopy 把一张软盘的内容复制到另一张。  Diskcopy [Drive1: [Drive2:]] [/V]    /V  校验信息复制得是否正确。  两张软盘的类型必须相同。 您可以为 Drive1 和 Drive2 指定同样的驱动器。  ##Doskey 编辑命令行重调用 Windows Xp 命令并创建宏。  Doskey [/Reinstall] [/Listsize=Size] [/Macros[:All | :Exename]]  [/History] [/Insert | /Overstrike] [/Exename=Exename] [/Macrofile=Filename]  [Macroname=[Text]]    /Reinstall          安装一组新的 Doskey。  /Listsize=Size      设置命令历史记录的缓冲区大小。  /Macros            显示所有 Doskey 宏。  /Macros:All        为具有 Doskey 宏的执行文件显示所有的                      Doskey 宏。  /Macros:Exename    显示指定执行文件的所有 Doskey 宏。  /History            显示保存在内存中的所有命令。  /Insert            指定用键入的新文字插入旧文字中。  /Overstrike        指定新文字改写旧文字。  /Exename=Exename    指定执行文件。  /Macrofile=Filename 指定安装的宏文件。  Macroname          指定所创建宏的名称。  Text                指定要登记的命令。  使用上下箭头键选择命令esc 清除命令行f7 显示 命令历史记录alt+F7 清除命令历史记录f8 搜索命令 历史记录f9 按编号选择命令alt+F10 清除宏定义。  以下是 Doskey 宏定义的特殊码: $T    命令分隔符号。允许一个宏可以含多个命令。 $1-$9  批处理参数。与批处理程序中的 %1-%9 相同。 $*    以命令行中命令名称后面的任何内容替换的符号。 ##Echo  显示信息或将命令回显打开或关上。    Echo [On | Off]  Echo [Message]  要显示当前回显设置键入不带参数的 Echo。  ##Endlocal 结束批处理文件中环境改动的本地化操作。在执行endlocal 之后 所做的环境改动不再仅限于批处理文件。批处理文件结束后 原先的设置无法还原。  Endlocal  如果命令扩展名被启用endlocal 会如下改变:  如果相应的 Setlocal 用新的 Enableextensions 或 Disableextensions 选项启用或停用了命令扩展名那么在 Endlocal 之后命令扩展名的启用/停用状态会还原到执行 相应的 Setlocal 命令前的状态。  ##Erase 删除一个或数个文件。  Del [/P] [/F] [/S] [/Q] [/A[[:]Attributes]] Names Erase [/P] [/F] [/S] [/Q] [/A[[:]Attributes]] Names    Names        指定一个或数个文件或目录列表。通配符可被用来                删除多个文件。如果指定了一个目录目录中的所                有文件都会被删除。    /P            删除每一个文件之前提示确认。  /F            强制删除只读文件。  /S            从所有子目录删除指定文件。  /Q            安静模式。删除全局通配符时不要求确认。  /A            根据属性选择要删除的文件。  Attributes      R  只读文件                    S  系统文件                  H  隐藏文件                    A  存档文件                  -  表示“否”的前缀  如果命令扩展名被启用del 和 Erase 会如下改变:  /S 开关的显示句法会颠倒即只显示已经 删除的文件而不显示找不到的文件。    ##Exit 退出 Cmd.Exe 程序(命令翻译程序)或当前批处理脚本。  Exit [/B] [Exitcode]    /B          指定要退出当前批处理脚本而不是 Cmd.Exe。如果从一个              批处理脚本外执行则会退出 Cmd.Exe    Exitcode    指定一个数字号码。如果指定了 /B将 Errorlevel              设成那个数字。如果退出 Cmd.Exe则用那个数字设置              过程退出代码。  ##Fc 比较两个文件或两个文件集并显示它们之间的不同  Fc [/A] [/C] [/L] [/Lbn] [/N] [/Off[Line]] [/T] [/U] [/W] [/Nnnn]    [Drive1:][Path1]Filename1 [Drive2:][Path2]Filename2 Fc /B [Drive1:][Path1]Filename1 [Drive2:][Path2]Filename2    /A        只显示每个不同处的第一行和最后一行。  /B        执行二进制比较。  /C        不分大小写。  /L        将文件作为 Ascii 文字比较。  /Lbn      将连续不匹配的最大值设为指定              的行数。  /N        在 Ascii 比较上显示行数。  /Off[Line] 不要跳过带有脱机属性集的文件。  /T        不要将 Tab 扩充到空格。  /U        将文件作为 Unicode 文字文件比较。  /W        为了比较而压缩空白(Tab 和空格)。  /Nnnn      指定不匹配处后必须连续匹配的行数。  [Drive1:][Path1]Filename1              指定要比较的第一个文件或第一个文件集。  [Drive2:][Path2]Filename2              指定要比较的第二个文件或第二个文件集。  ##Find 在文件中搜索字符串。  Find [/V] [/C] [/N] [/I] [/Off[Line]] "String" [[Drive:][Path]Filename[ ...]]      /V        显示所有未包含指定字符串的行。  /C        仅显示包含字符串的行数。  /N        显示行号。  /I        搜索字符串时忽略大小写。  /Off[Line] 不要跳过具有脱机属性集的文件。  "String"  指定要搜索的文字串  [Drive:][Path]Filename            指定要搜索的文件。  如果没有指定路径find 将搜索键入的或者由另一命令产生的文字。  ##Findstr 在文件中寻找字符串。  Findstr [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/F:File]        [/C:String] [/G:File] [/D:Dir List] [/A:Color Attributes] [/Off[Line]]        Strings [[Drive:][Path]Filename[ ...]]    /B        在一行的开始配对模式。  /E        在一行的结尾配对模式。  /L        按字使用搜索字符串。  /R        将搜索字符串作为一般表达式使用。  /S        在当前目录和所有子目录中搜索              匹配文件。  /I        指定搜索不分大小写。  /X        打印完全匹配的行。  /V        只打印不包含匹配的行。  /N        在匹配的每行前打印行数。  /M        如果文件含有匹配项只打印其文件名。  /O        在每个匹配行前打印字符偏移量。  /P        忽略有不可打印字符的文件。  /Off[Line] 不跳过带有脱机属性集的文件。  /A:Attr  指定有十六进位数字的颜色属性。请见 "Color /?"  /F:File  从指定文件读文件列表 (/ 代表控制台)。  /C:String 使用指定字符串作为文字搜索字符串。  /G:File  从指定的文件获得搜索字符串。 (/ 代表控制台)。  /D:Dir    查找以分号为分隔符的目录列表  Strings  要查找的文字。  [Drive:][Path]Filename            指定要查找的文件。  除非参数有 /C 前缀请使用空格隔开搜索字符串。 例如: 'Findstr "Hello There" X.Y' 在文件 X.Y 中寻找 "Hello" 或 "There" 。  'Findstr /C:"Hello There" X.Y' 文件 X.Y  寻找  "Hello There"。  一般表达式的快速参考:  .        通配符: 任何字符  *        重复: 以前字符或类别出现零或零以上次数  ^        行位置: 行的开始  $        行位置: 行的终点  [Class]  字符类别: 任何在字符集中的字符  [^Class] 补字符类别: 任何不在字符集中的字符  [X-Y]    范围: 在指定范围内的任何字符  \X      Escape: 元字符 X 的文字用法  \字位置: 字的结束  有关 Findstr 常见表达法的详细情况请见联机命令参考。  ##For 对一组文件中的每一个文件执行某个特定命令。  For %Variable In (Set) Do Command [Command-Parameters]    %Variable  指定一个单一字母可替换的参数。  (Set)      指定一个或一组文件。可以使用通配符。  Command    指定对每个文件执行的命令。  Command-Parameters              为特定命令指定参数或命令行开关。  在批处理文件中使用 For 命令时指定变量请使用 %%Variable 而不要用 %Variable。变量名称是区分大小写的所以 %I 不同于 %I.  如果命令扩展名被启用下列额外的 For 命令格式会受到 支持:  For /D %Variable In (Set) Do Command [Command-Parameters]      如果集中包含通配符则指定与目录名匹配而不与文件    名匹配。  For /R [[Drive:]Path] %Variable In (Set) Do Command [Command-Parameters]      检查以 [Drive:]Path 为根的目录树指向每个目录中的    For 语句。如果在 /R 后没有指定目录则使用当前    目录。如果集仅为一个单点(.)字符则枚举该目录树。    For /L %Variable In (Start,Step,End) Do Command [Command-Parameters]      该集表示以增量形式从开始到结束的一个数字序列。    因此(1,1,5) 将产生序列 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 Xp 使用。  Format Volume [/Fs:File-System] [/V:Label] [/Q] [/A:Size] [/C] [/X] Format Volume [/V:Label] [/Q] [/F:Size] Format Volume [/V:Label] [/Q] [/T:Tracks /N:Sectors] Format Volume [/V:Label] [/Q] Format Volume [/Q]    Volume          指定驱动器(后面跟一个冒号)、装入点                  或卷名。  /Fs:Filesystem  指定文件系统类型(Fat、Fat32 或 Ntfs)。  /V:Label        指定卷标。  /Q              执行快速格式化。  /C              仅适于 Ntfs: 默认情况下将压缩在该新建卷上                  创建的文件。    /X              如果必要先强制卸下卷。那时该卷所有                  已打开的句柄不再有效。  /A:Size        替代默认配置单位大小。极力建议您在一般状况下使用                  默认设置。                  Ntfs 支持 512、1024、2048、4096、8192、16K、32K、                  64K。                  Fat 支持 512、1024、2048、4096、8192、16K、32K、                  64K(128K、256K 用于大于 512 字节的扇区) 。                  Fat32 支持 512、1024、2048、4096、8192、16K、32K、                  64K(128K 、256K 用于大于 512 字节的扇区)。                    注意 Fat 及 Fat32 文件系统对卷上的群集数量有以下限制:                    Fat: 群集数量 <= 65526                    Fat32: 65526 < 群集数量 < 4177918                    如果判定使用指定的群集大小无法满足以上需求格式                  化将立即停止。                    Ntfs 压缩不支持大于 4096 的分配单元。    /F:Size        指定要格式化的软盘大小(1.44)  /T:Tracks      为磁盘指定每面磁道数。  /N:Sectors      指定每条磁道的扇区数。  ##Ftype 显示或修改用在文件扩展名关联中的文件类型  Ftype [Filetype[=[Opencommandstring]]]    Filetype  指定要检查或改变的文件类型  Opencommandstring 指定调用这类文件时要使用的开放式命令。  键入 Ftype 而不带参数来显示当前有定义的开放式命令字符串的 文件类型。 Ftype 仅用一个文件类型启用时它显示那个文件类 型目前的开放式命令字符串。如果不为开放式命令字符串指定 Ftype 命令将删除那个文件类型的开放式命令字符串。在一个 开放式命令字符串之内命令字符串 %0 或 %1 被通过关联调用 的文件名所代替。%* 得到所有的参数%2 得到第一个参数 %3 得到第二个等等。%~N 得到其余所有以 Nth 参数打头的 参数n 可以是从 2 到 9 的数字。例如:      Assoc .Pl=Perlscript    Ftype Perlscript=Perl.Exe %1 %*  允许您启用以下 Perl 脚本:      Script.Pl 1 2 3  如果不想键入扩展名则键入以下字符串:      Set Pathext=.Pl;%Pathext%  被启动的脚本如下:      Script 1 2 3  ##Goto  将 Cmd.Exe 导向到批处理程序中带标签的行。  Goto Label    Label  指定批处理程序中用作标签的文字字符串。  标签必须单独一行并且以冒号打头。  如果命令扩展名被启用goto 会如下改变:  Goto 命令现在接受目标标签 :Eof这个标签将控制转移到当前 批脚本文件的结尾。不定义就退出批脚本文件这是一个容易的 办法。有关能使该功能有用的 Call 命令的扩展名描述请键入 Call /?。  ##Graftabl 请在图形模式下启用 Windows 显示扩展字符集。  Graftabl [Xxx] Graftabl /Status    Xxx      指定代码页。    /Status  显示选定的同 Graftabl 一起使用的当前代码页。  ##Help 提供 Windows Xp 命令的帮助信息。  Help [Command]      Command - 显示该命令的帮助信息。  ##If 执行批处理程序中的条件处理。  If [Not] Errorlevel Number Command If [Not] String1==String2 Command If [Not] Exist Filename Command    Not              指定只有条件为 False 的情况下 Windows Xp 才                    应该执行该命令。    Errorlevel Number 如果最后运行的程序返回一个等于或大于                    指定数字的退出编码指定条件为 True。      String1==String2  如果指定的文字字符串匹配指定条件为 True。    Exist Filename    如果指定的文件名存在指定条件为 True。    Command          如果符合条件指定要执行的命令。如果指定的                      条件为 False命令后可跟一个执行 Else                      关键字后的命令的 Else 命令。  Else 子句必须在 If 之后出现在同一行上。例如:      If Exist Filename. (        Del Filename.    ) Else (        Echo Filename. Missing.    )  因为 Del 命令需要用一个新行终止以下子句不会有效:  If Exist Filename. Del Filename. Else Echo Filename. Missing  由于 Else 命令必须与 If 命令的尾端在同一行上以下子句也 不会有效:      If Exist Filename. Del Filename.    Else Echo Filename. Missing  如果都放在同一行上以下子句有效:      If Exist Filename. (Del Filename.) Else Echo Filename. Missing  如果命令扩展名被启用if 会如下改变:      If [/I] 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] 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      退出    =      显示行号    ?      显示帮助行显示下一页显示下一行

推荐阅读更多精彩内容