CMD命令提示符大全.docx

上传人:牧羊曲112 文档编号:3154699 上传时间:2023-03-11 格式:DOCX 页数:15 大小:45.13KB
返回 下载 相关 举报
CMD命令提示符大全.docx_第1页
第1页 / 共15页
CMD命令提示符大全.docx_第2页
第2页 / 共15页
CMD命令提示符大全.docx_第3页
第3页 / 共15页
CMD命令提示符大全.docx_第4页
第4页 / 共15页
CMD命令提示符大全.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《CMD命令提示符大全.docx》由会员分享,可在线阅读,更多相关《CMD命令提示符大全.docx(15页珍藏版)》请在三一办公上搜索。

1、CMD命令提示符大全 CMD命令提示符大全 一、CMD命令 CMD /A | /U /Q /D /E:ON | /E:OFF /F:ON | /F:OFF /V:ON | /V:OFF /S /C | /K string 其中:CMD是不可缺少的! /C 执行字符串指定的命令然后终断 /K 执行字符串指定的命令但保留 /S 在 /C 或 /K 后修改字符串处理(见下) /Q 关闭回应 /D 从注册表中停用执行 AutoRun 命令(见下) /A 使向内部管道或文件命令的输出成为 ANSI /U 使向内部管道或文件命令的输出成为 Unicode /T:fg 设置前景/背景颜色(详细信息,请见 C

2、OLOR /?) /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 相同。忽略任

3、何其他命令行开关。如果指定了 /C 或 /K,命令行开关后的命令行其余部分将作为命令行处理;在这种情况下,会使用下列逻辑处理引号字符(): 1.如果符合下列所有条件,那么在命令行上的引号字符将被保留: - 不带 /S 命令行开关 - 整整两个引号字符 - 在两个引号字符之间没有特殊字符,特殊字符为下列中的一个: | - 在两个引号字符之间有至少一个空白字符 - 在两个引号字符之间有至少一个可执行文件的名称。 2.否则,看第一个字符是否是一个引号字符,如果是,舍去开头的字符并删除命令行上 的最后一个引号字符,保留最后一个引号字符之后的文字。 如果 /D 未在命令行上被指定,当 CMD.EXE 开

4、始时,它会寻找以下 REG_SZ/REG_EXPAND_SZ 注册表变量。如果其中一个或两个都存在,这两个变量会先被执行。 HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorAutoRun 和/或 HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorAutoRun命令扩展是按默认值启用的。您也可以使用 /E:OFF,为某一特定调用而停用扩展。您可以在机器上和/或用户登录会话上启用或停用 CMD.EXE 所有调用的扩展,这要通过设置使用REGEDT32.EXE 的注册表中的一个或两个 REG_

5、DWORD 值: HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorEnableExtensions 和/或 HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorEnableExtensions 到 0x1 或 0x0。用户特定设置比机器设置有优先权。命令行开关比注册表设置有优先权。以上是对于基本命令的介绍,下面包含的是命令行扩展部分。延迟变量环境扩展不按默认值启用。您可以用/V:ON 或 /V:OFF 命令行开关,为 CMD.EXE 的某个调用而启用或停用延迟环境变量扩充。 您可以在机器上

6、和/或用户登录会话上启用或停用 CMD.EXE 所有调用的完成,这要通过设置使用 REGEDT32.EXE 的注册表中的一个或两个 REG_DWORD 值: HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorDelayedEXPansion 和/或 HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorDelayedEXPansion 到 0x1 或 0x0。用户特定设置比机器设置有优先权。命令行开关比注册表设置有优先权。 如果延迟环境变量扩充被启用,惊叹号字符可在执行时间,被用来代替一个环境

7、变量的数值。文件和目录名完成不按默认值启用。您可以用 /F:ON 或 /F:OFF命令行开关,为 CMD.EXE 的某个调用而启用或停用文件名完成。 您可以在机器上和/或用户登录会话上启用或停用 CMD.EXE 所有调用的完成,这要通过设置使用 REGEDT32.EXE 的注册表中的一个或两个REG_DWORD 值: HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorCompletionChar HKEY_LOCAL_MACHINESoftwareMicrosoftCommand ProcessorPathCompletionChar 和/

8、或 HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorCompletionChar HKEY_CURRENT_USERSoftwareMicrosoftCommand ProcessorPathCompletionChar 由一个控制字符的十六进制值作为一个特定参数(例如,0x4 是Ctrl-D,0x6 是 Ctrl-F)。 用户特定设置优先于机器设置。命令行开关优先于注册表设置。 如果完成是用 /F:ON 命令行开关启用的,两个要使用的控制符是: 目录名字完成用 Ctrl-D, 文件名完成用 Ctrl-F。 要停用注册表中的某个字符,请用空

9、格(0x20)的数值,因为此字符不是控制字符。 如果键入两个控制字符中的一个,完成会被调用。完成功能将路径字符串带到光标的左边,如果没有通配符,将通配符附加到左边,并建立相符的路径列表。然后,显示第一个相符的路径。如果没有相符的路径,则发出嘟嘟声,不影响显示。之后,重复按同一个控制字符会循环显示相符路径的列表。将 Shift 键跟控制字符同时按下,会倒着显示列表。如果对该行进行了任何编辑,并再次按下控制字符,保存的相符路径的列表会被丢弃,新的会被生成。如果在文件和目录名完成之间切换,会发生同样现象。两个控制字符之间的唯一区别是文件完成字符符合文件和目录名,而目录完成字符只符合目录名。如果文件完

10、成被用于内置式目录命令(CD、MD 或 RD),就会使用目录完成。 将引号将相符路径括起来,完成代码可以正确处理含有空格或其他特殊字符的文件名。同时,如果备份,然后从行内调用文件完成,完成被调用是位于光标右方的文字会被丢弃。 需要引号的特殊字符是: &=;!+, 二、命令行扩展的详细应用方法 下面是命令行扩展的详细应用方法介绍:熟悉dos的朋友会发现许多内容和dos相同。 1、DEL 或 ERASE 删除一个或数个文件。 DEL /P /F /S /Q /A:attributes names ERASE /P /F /S /Q /A:attributes names names 指定一个或数个

11、文件或目录列表。通配符可被用来删除多个文件。如果指定了一个目录,目录中的所有文件都会被删除。 /P 删除每一个文件之前提示确认。 /F 强制删除只读文件。 /S 从所有子目录删除指定文件。 /Q 安静模式。删除全局通配符时,不要求确认。 /A 根据属性选择要删除的文件。 attributes R 只读文件 S 系统文件 H 隐藏文件 A 存档文件 - 表示“否”的前缀 如果命令扩展名被启用,DEL 和 ERASE 会如下改变: /S 开关的显示句法会颠倒,即只显示已经删除的文件,而不显示找不到的文件。 2、COLOR 设置默认的控制台前景和背景颜色。 COLOR attr attr 指定控制台

12、输出的颜色属性 颜色属性由两个十六进制数字指定 - 第一个为背景,第二个则为 前景。每个数字可以为以下任何值之一: 0 = 黑色 8 = 灰色 1 = 蓝色 9 = 淡蓝色 2 = 绿色 A = 淡绿色 3 = 湖蓝色 B = 淡浅绿色 4 = 红色 C = 淡红色 5 = 紫色 D = 淡紫色 6 = 黄色 E = 淡黄色 7 = 白色 F = 亮白色 如果没有给定任何参数,该命令会将颜色还原到 CMD.EXE 启动时的颜色。这个值来自当前控制台窗口、/T 开关或DefaultColor 注册表值。 如果用相同的前景和背景颜色来执行 COLOR 命令,COLOR 命令会将 ERRORLEVE

13、L 设置为 1。 例如: COLOR fc 在亮白色上产生亮红色 3、CD 或 CHDIR 显示当前目录名或改变当前目录。 CHDIR /D drive:path CHDIR . CD /D drive:path CD . . 指定要改成父目录。 键入 CD 驱动器: 显示指定驱动器中的当前目录。 不带参数只键入 CD,则显示当前驱动器和目录。 使用 /D 命令行开关,除了改变驱动器的当前目录之外,还可改变当前驱动器。 如果扩展命令名被启用,CHDIR 会如下改变: 当前的目录字符串会被转换成使用磁盘名上的大小写。所以,如果磁盘上的大小写如此,CD C : TEMP 会将当前目录设为C:Tem

14、p。 CHDIR 命令不把空格当作分隔符,因此有可能将目录名改为一个带有空格但不带有引号的子目录名。例如: cd Winntprofilesusernameprogramsstart menu 与下列相同: cd Winntprofilesusernameprogramsstart menu 在扩展功能停用的情况下,您必须键入以上命令。 4、MD 或 MKDIR 创建目录。 MKDIR drive:path MD drive:path 如果命令扩展名被启用,MKDIR 会如下改变: 如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 a 不存在,那么: mkdir abcd 与: mk

15、dir a chdir a mkdir b chdir b mkdir c chdir c mkdir d 相同。如果扩展名被停用,则需要键入 mkdir abcd。 5、PROMPT 更改 cmd.exe 命令提示符。 PROMPT text text 指定新的命令提示符。 提示符可以由普通字符及下列特定代码组成: $A & (短 and 符号) $B | (管道) $C ( (左括弧) $D 当前日期 $E Escape code (ASCII 码 27) $F ) (右括弧) $G (大于符号) $H Backspace (擦除前一个字符) $L (小于符号) $N 当前驱动器 $P 当

16、前驱动器及路径 $Q = (等号) $S (空格) $T 当前时间 $V Windows XP 版本号 $_ 换行 $ $ (货币符号) 如果命令扩展名被启用,PROMPT 命令会支持下列格式化字符: $+ 根据 PUSHD 目录堆栈的深度,零个或零个以上加号(+)字符;每个被推的层有一个字符。 $M 如果当前驱动器不是网络驱动器,显示跟当前驱动器号或空字符串有关联的远程名。 6、PUSHD 保存当前目录以供 POPD 命令使用,然后改到指定的目录。 PUSHD path | . path 指定要成为当前目录的目录。 如果命令扩展名被启用,除了一般驱动器号和路径,PUSHD命令还接受网络路径。

17、如果指定了网络路径,PUSHD 将创建一个指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器号改变当前的驱动器和目录。可以从 Z: 往下分配临时驱动器号,使用找到的第一个没有用过的驱动器号。 7、POPD 命令选项到保存在 PUSHD 命令里的目录。 POPD 如果命令扩展名被启用,从推目录堆栈 POPD 驱动器时,POPD命令会删除 PUSHD 创建的临时驱动器号。 8、SET 显示、设置或删除 cmd.exe 环境变量。 SET variable=string variable 指定环境变量名。 string 指定要指派给变量的一系列字符串。 要显示当前环境变量,键入不带参数的 SET

18、。 如果命令扩展名被启用,SET 会如下改变: 可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配SET命令已使用的名称的所有变量的值。例如: SET P 会显示所有以字母 P 打头的变量如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL设置成 1。 SET 命令不允许变量名含有等号。 在 SET 命令中添加了两个新命令行开关: SET /A eXPression SET /P variable=promptString /A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式评估器很简单并以递减的优先权顺序支持下列操作: - 分组 ! - - 一元运

19、算符 * / % - 算数运算符 + - - 算数运算符 - 逻辑移位 - 按位“与” - 按位“异” | - 按位“或” = *= /= %= += -= - 赋值 &= = |= = - 表达式分隔符 如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用引号扩起来。在表达式中的任何非数字字符串键作为环境变量名称,这些环境变量名称的值已在使用前转换成数字。如果指定了一个环境变量名称,但未在当前环境中定义,那么值将被定为零。这使您可以使用环境变量值做计算而不用键入那些 % 符号来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的,那么它显示该表达式的最后值。该分配的操作符在分配的

20、操作符左边需要一个环境变量名称。除十六进制有 0x 前缀,八进制有 0 前缀的,数字值为十进位数字。因此, 0x12 与 18 和 022相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,因为 8 和 9 不是有效的八进制位数。 /P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入行之前,显示指定的 promptString。promptString 可以是空的。 环境变量替换已如下增强: %PATH:str1=str2% 会扩展 PATH 环境变量,用 str2 代替扩展结果中的每个 str1。 要有效地从扩展结果中删除所有的 str1,str2 可以是空的。

21、str1 可以以星号打头;在这种情况下,str1 会从扩展结果的开始到 str1 剩余部分第一次出现的地方,都一直保持相配。 也可以为扩展名指定子字符串。 %PATH:10,5% 会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏移量 10)字符开始的五个字符。如果没有指定长度,则采用默认值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,使用的数字则是环境变量数值长度加上指定的偏移量或长度。 %PATH:-10% 会提取 PATH 变量的最后十个字符。 %PATH:0,-2% 会提取 PATH 变量的所有字符,除了最后两个。 终于添加了延迟环境变量扩充的支持。该支持

22、总是按默认值被停用,但也可以通过 CMD.EXE 的 /V 命令行开关而被启用/停用。 考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境变量扩充是很有用的,而不是执行的时候。以下例子说明直接变量扩充的问题: 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 实际上是在比

23、较 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 设成找到的最后一个文件。 延迟环境变量扩充允许您使用一个不同的字符(惊叹号

24、)在执行时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面例子写成以下所示,以达到预期效果: 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 显示的变量列表中。每次变量数值被扩展时,这些变量数值都会被动态计算。如果用户用这些名称中任何一个定义变量,那个定

25、义会替代下面描述的动态定义: %CD% - 扩展到当前目录字符串。 %DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。 %TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。 %RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。 %ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。 %CMDEXTVERSION% - 扩展到当前命令处理器扩展名版本号。 %CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。 9、SETLOCAL 开始批处理文件中环境改动的本地化操作。在执行 SETLOCAL 之后所做的环境改动只限于批处理

26、文件。要还原原先的设置,必须执行 ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。 SETLOCAL 如果命令扩展名被启用,SETLOCAL 会如下改变: SETLOCAL 批命令现在可以接受可选参数: ENABLEEXTENSIONS / DISABLEEXTENSIONS 启动或停用命令处理器扩展名。详细信息,请参阅 CMD /?。 ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION 启动或停用延缓环境变量扩展名。详细信息,请 参阅 对SET的介绍 。

27、 无论在 SETLOCAL 命令之前它们的设置是什么,这些修改会一直保留到匹配的 ENDLOCAL 命令。 如果有一个参数,SETLOCAL 命令将设置 ERRORLEVEL 的值。 如果有两个有效参数中的一个,该值则为零。用下列技巧,您可以在批脚本中使用这个来决定扩展名是否可用: VERIFY OTHER 2nul SETLOCAL ENABLEEXTENSIONS IF ERRORLEVEL 1 echo Unable to enable extensions 这个方法之所以有效,是因为在 CMD.EXE 的旧版本上,SETLOCAL不设置 ERRORLEVEL 值。具有不正确参数的 VE

28、RIFY 命令将ERRORLEVEL 值初始化成非零值。 10、ENDLOCAL 结束批处理文件中环境改动的本地化操作。在执行ENDLOCAL 之后所做的环境改动不再仅限于批处理文件。批处理文件结束后,原先的设置无法还原。 ENDLOCAL 如果命令扩展名被启用,ENDLOCAL 会如下改变: 如果相应的 SETLOCAL 用新的 ENABLEEXTENSIONS 或DISABLEEXTENSIONS 选项启用或停用了命令扩展名,那么,在ENDLOCAL 之后,命令扩展名的启用/停用状态会还原到执行相应的 SETLOCAL 命令前的状态。 11、IF 执行批处理程序中的条件处理。 IF NOT

29、 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 如果符合条件,指定要执行的命令。如果指定的

30、条件为 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.

31、 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 -

32、大于或等于 及 /I 开关;如果该开关被指定,则说明要进行的字符串比较不分大小写。/I 开关可以用于 IF 的 string1=string2 的形式上。这些比较都是通用的;原因是,如果 string1 和 string2 都是由数字组成的,字符串会被转换成数字,进行数字比较。 CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它是在跟与命令扩展名有关联的内部版本号比较。第一个版本是 1。每次对命令扩展名有相当大的增强时,版本号会增加一个。 命令扩展名被停用时,CMDEXTVERSION 条件不是真的。 如果已定义环境变量,DEFINED 条件的作用跟 EXISTS

33、的一样,除了它取得一个环境变量,返回的结果是 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

34、 的环境变量,%CMDCMDLINE%将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始命令行;否则,您会得到其数值。 如果没有名为 CMDEXTVERSION 的环境变量,%CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的字串符表达式;否则,您会得到其数值。 12、FOR FOR %variable IN (set) DO command command-parameters %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 command-pa

35、rameters 为特定命令指定参数或命令行开关。 在批处理文件中使用 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

36、 为根的目录树,指向每个目录中的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 选项:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号