会扩充到空字符串
可以组合修定符来取得多重结果:
%~dp1 - 只将 %1 扩展到驱动器号和路径 %~nx1 - 只将 %1 扩展到文件名和扩展名 %~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的驱动器号和路径。
%~ftza1 - 将 %1 扩展到类似 DIR 的输出行。
在上面的例子中,%1 和 PATH 可以被其他有效数值替换。 %~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %* 使用
***************
显示当前目录名或改变当前目录。
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 \
在扩展功能停用的情况下,您必须键入以上命令。
***************
显示或设置活动代码页编号。
CHCP [nnn]
nnn 指定代码页编号。
不加参数键入 CHCP 显示活动代码页编号。
***************
显示当前目录名或改变当前目录。
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 \
在扩展功能停用的情况下,您必须键入以上命令。
***************
检查磁盘并显示状态报告。
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 volume [...] CHKNTFS /D
CHKNTFS /T[:time]\\r\\nCHKNTFS /X volume [...] CHKNTFS /C volume [...]
volume: 指定驱动器(后面跟一个冒号)、装入点或卷名。
/D 将计算机恢复成默认状态, 启动时检查所有驱动器,并对有问题的驱动器执行 chkdsk 命令。
/T:time 将 AUTOCHK 初始递减计数时间改成指定的时间量,单位为秒数。如果没有指定时间,则显示当前设置。
/X 排除启动时不作检查的驱动器。上次执行此命令排除的驱动器此
时无效。
/C 安排启动时检查驱动器,如果驱动器有问题,运行 chkdsk。
如果没有指定命令行开关,CHKNTFS 会显示每一驱动器有问题的位的状态。
***************
清除屏幕。 CLS
***************
启动 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