`

Cmd.exe 命令行参数 详解

阅读更多

Cmd.exe有很多命令行参数,具体情况如下:

  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 将c作为定界符启动延缓环境变量扩展。

  /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所有调用的扩展,这要通过设置使用Regedit32.exe 的注册表中的一个或两个REG_DWORD值:

  HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

  和

  HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions到0x1或0x

  0。用户特定设置比机器设置有优先权。命令行命令选项比注册表设置有优先权。

  命令行扩展包括对下列命令所做的更改和添加:

  Del或Erase、Color、CD或ChDir、MD或MkDir、Prompt、Pushd、Popd、Set、SetLocal、End Local、IF、For、Call、Shift、Goto、Start(同时包括对外部命令调用所做的更改)、As soc、Ftype。

  有关详细信息,请键入“HELP 命令名”。

  延迟变量环境扩展不按默认值启用。你可以用/V:ON或 /V:OFF命令选项,为CMD.EXE的某个调用而启用或停用延迟环境变量扩充。你可以在机器上或用户登录会话上启用或停用CMD. EXE所有调用的完成,这要通过设置使用Regedit32.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所有调用的完成,这要通过设置使用Regedit32.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),就会使用目录完成。

  将引号用相符路径括起来,完成代码可以正确处理含有空格或其它特殊字符的文件名。同时,如果备份,然后从行内调用文件完成,完成被调用是位于光标右方的文字会被丢弃。

  编者按:前边讲了这么多,主要是从原理上介绍了微软的一种命令扩展和路径扩展,至于

  它要完成的功能对于我们大多数电脑爱好这来说是很有趣并且是实用价值的,从小编在http

  ://www.microsoft.com查询的资料得知,自从Windows NT 4.0以来,Windows便具有了和Linux一样的命令行自动补全的功能,不信将HKEY_LOCAL_MACHINE\Software\Microsoft\ Comma

  nd Prosessor\CompletionChar的键值改为9,然后切换到命令行窗口,输入cd c:\wind,然后按一个Tab试一下,呵呵……系统自动为你输入了cd c:\windows。

  8.一个有趣的Bug

  在命令行(甚至在其它如Word2000等图形界面编辑器中!)调用任何一种中文输入法后,如果在全角、中文标点状态下输入一次“……”(可按Shift+^直接从键盘输入),再输入大写的任意英文字母或按Shift键输入某些特殊符号,则每个字符后面会自动添加一个“…” 号,如“W…”、“%…”等,不知微软此举是何用意?笔者死活想不出这种功能有何用处,只能解释为是一个无关紧要的Bug。

  由以上可以看出,传统的DOS在Win2000时代并不是被完全抛弃,而是被发扬光大,它已经由历史上一个独当一面的操作系统转变为Win2000操作系统的有机组成部分。有道是尺有所短,寸有所长,命令行与图形界面相比自有其独特魅力。我们不应忘记“老DOS”,更不应忽视对命令行操作的了解和使用,许多时候,一个并不怎么复杂的操作只需用命令行就能既快又好地完成,又为什么非得要寻找(甚至是开发)一个专门的图形界面的工具呢?

分享到:
评论

相关推荐

    cmd命令.docx

    cmd命令大全副带命令详解 65.system:显示远程主机的操作系统类型。... 72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on.  73.?[cmd]:同help.

    cmd操作命令和linux命令大全收集

    tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exec:server.exe 登陆后,将“IP”的server.exe下载到目标主机c:server.exe 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送...

    CMD命令行高级教程

    [/color] 五、参数 /F [color=red]迭代及文件解析[/color] 第三章 FOR 命令中的变量 [color=darkgreen] 一、 ~I - 删除任何引号("),扩展 %I 二、 %~fI - 将 %I 扩展到一个完全合格的路径名 三、 %~dI - 仅将 %I ...

    ewf安装压缩包

    我们调用EWF的管理控制程序(ewfmgr.exe)的方法通常是在XPE的开始菜单-&gt;运行-&gt;CMD,打开命令行环境,然后基本的语法如下: EWFMGR (optional) [options] 参数描述: drive-letter:指定的分区路径。这是一个可选的...

    DB2 常用cmd命令

    1、 打开命令行窗口  #db2cmd 2、 打开控制中心 www.2cto.com  # db2cmd db2cc 3、 打开命令编辑器  db2cmd db2ce =====操作数据库命令===== 4、 启动数据库实例  #db2start 5、 停止数据库实例  #...

    python sys.argv[]用法实例详解

    这个例子os.system接收命令行参数,运行参数指令,cmd命令行带参数运行python sample1.py notepad,将打开记事本程序。 2、这个例子是简明python教程上的,明白它之后你就明白sys.argv[]了。 以下是sample.py文件: ...

    在IIS上重新注册.NET Framework 2.0的命令和参数详解

    我们有时可能需要将 .Net 重新注册到 IIS 上面,可以用下面的命令行...以下是aspnet_regiis.exe参数的说明信息: -i – 安装 ASP.NET 的此版本,并更新 IIS 元数据库根处的 脚本映射和根以下的所有 脚本映射。现有的低

    在cmd命令行里进入和退出Python程序的方法

    进入: 直接输入python即可,如图所示 退出: 1:输入exit(),回车 2:输入quit(),回车 3:输入ctrl+z,回车 以上这篇在cmd命令行里进入...详解python退出方法Python 获得命令行参数的方法(推荐)python清空命令行方式

    python中pytest收集用例规则与运行指定用例详解

    上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例,并输出我们想要看到的信息。那么今天会讲解一下pytest是如何收集我们写好的用例?我们又有哪些方式来运行单个用例或者批量运行用例呢...

    Dockerfile中CMD和ENTRYPOINT命令详解

    CMD 和 ENTRYPOINT 指令都是用来指定容器启动时运行的命令。 单从功能上来看,这两个命令几乎是重复的。单独使用其中的一个就可以实现绝大多数的用例。但是既然 doker 同时提供了它们,为了在使用中不至于混淆,...

    命令行运行Python脚本时传入参数的三种方式详解

    这三种格式对应不同的参数解析方式,分别为sys.argv, argparse, tf.app.run, 前两者是python自带的功能,最后一个是tensorflow提供的便捷方式(只是在命令行执行时看上去跟第二个相同,源码部分的区别见下)。...

    Python中sys模块功能与用法实例详解

    传递给Python脚本的命令行参数列表。argv[0]是脚本名称(依赖于操作系统,无论这是否是完整路径名)。如果使用-c解释器的命令行选项执行命令,argv[0]则将其设置为字符串’-c’。如果没有脚本名称传递给Python解释器...

    入门学习Linux常用必会60个命令实例详解doc/txt

    入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不...

    详解Python sys.argv使用方法

    sys.argv是python用来获取命令行参数的,如在CMD下执行python *.py data,也就是使用python执行脚本时,需要添加的参数 按照Python教程中的做法 编写using_sys.py 在cmd中执行脚本 先是只执行python using_sys.py ...

    windows驱动开发技术详解-part2

     3.2.9 build工具的命令行参数  3.3 用VC编译驱动程序  3.3.1 建立驱动程序工程  3.3.2 修改编译选项  3.3.3 修改链接选项  3.3.4 其他修改  3.3.5 VC编译小结  3.4 查看调试信息  3.4.1 打印调试...

    Windows驱动开发技术详解的光盘-part1

     3.2.9 build工具的命令行参数  3.3 用VC编译驱动程序  3.3.1 建立驱动程序工程  3.3.2 修改编译选项  3.3.3 修改链接选项  3.3.4 其他修改  3.3.5 VC编译小结  3.4 查看调试信息  3.4.1 打印调试...

    cxxopts:轻量级C ++命令行选项解析器

    支持部分解析(即cmd &lt;options&gt; sub-command &lt;options&gt; &lt;positional&gt; ) 选项参数(即带有值的参数) 支持短版本和长版本(即-o value , -ovalue和--option value或--option=value ) 支持多个值(即-o &lt;val1&gt; -...

    批处理实用教程

    5、TITLE 设置cmd窗口的标题 6、COLOR 设置cmd窗口前景和背景颜色 7、mode 配置系统设备 8、GOTO 和 : 9、FIND 在文件中搜索字符串 10、START 调用外部程序并任其在新窗口自行运行 11、assoc 和 ftype 12、...

    dos批处理教程(实用)

    1、@命令行回显屏蔽符 2、%批处理变量引导符 3、&gt; 重定向符 4、&gt;&gt;重定向符 5、&lt;、&gt;、重定向符 6、|命令管道符 7、^转义字符 8、组合命令 9、& 组合命令 10、||组合命令 11、\"\"字符串界定符 12、, 逗号 13、; 分号 ...

Global site tag (gtag.js) - Google Analytics