CMD命令是重新开始一个命令解析器的实例。当然,他的功能并不止这么简单。

Windows コマンド インタープリターの新しいインスタンスを開始します。

语法结构

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]  [[/S] [/C | /K] 文字列]

cmd是一个很重要的命令,接下来,应该说很多命令都跟cmd有关系吧!!

接下来,我们来分析cmd /?帮助中每条语法含义。

1、cmd  重新开始一个命令解析器的实例

具体什么作用呢?我们知道我们要打开cmd命令窗口的时候,输入的命令就是cmd命令。

也就是说,在运行命令窗口输入的cmd并执行,弹出的那个命令窗口就是cmd的一个实例呢?姑且我们就先这么理解

还有就是,我们正在执行别的命令程序,比如说powershell程序,我们输入cmd并回车运行,这个时候,我们就回到cmd命令窗口了。

这个时候,会在窗口上回显版权信息。

运行效果:

F:\tmp>cmd
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

2、cmd [/C | /K] 文字列]

A. cmd /C 文字列

文字列指定的命令执行过以后,关闭命令窗口。

例如:win+r打开运行窗口以后,输入命令[cmd /c notepad],并回车执行

运行效果就是,通过cmd命令打开记事本程序,当点击X以后关闭记事本后,紧接着,cmd命令窗口也会被关闭。

B. cmd /K 文字列

文字列指定的命令执行过以后,并不关闭命令窗口,而是相当于执行了一次cmd命令,打开一个cmd命令窗口实例。

例如:win+r打开运行窗口以后,输入命令[cmd /k notepad],并回车执行

运行效果就是,通过cmd命令打开记事本程序,当点击X以后关闭记事本后,cmd命令窗口不会被关闭。

而是出现了等待输入命令的等待窗口:C:\Users\liuhongying>|(闪烁ing...)

3、cmd /q    关闭命令回显  想当于cmd执行过一个又执行一个echo off命令

エコーをオフにします。

首先,我们先建一个a.bat的文件,文件的内容为:echo hello world

①win+r打开运行窗口以后,输入命令[cmd /q],并回车执行

然后调用a.bat批处理

运行结果:

F:\tmp>echo hello world
hello world

②win+r打开运行窗口以后,输入命令[cmd],并回车执行

然后调用a.bat批处理

运行结果:

F:\tmp>a.bat

F:\tmp>echo hello world
hello world

4、 cmd /d     禁止cmd启动时自动执行的处理

讲解前,我们设置两个环境变数

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun ⇒ F:\tmp\a.bat HKEY_LOCAL_MACHINE

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun ⇒ F:\tmp\a.bat HKEY_CURRENT_USER

F:\tmp\a.bat的内容为【echo %1%】

然后,我们win+r,并输入cmd回车执行

执行结果为:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\liuhy>echo HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE

C:\Documents and Settings\liuhy>echo HKEY_CURRENT_USER
HKEY_CURRENT_USER

C:\Documents and Settings\liuhy>

所以,我们可以得出结论,我们执行cmd的时候,会先执行HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun指向的命令,然后执行HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun指向的命令,这之后才会停到等待输入命令的状态。

那么,我们加上/d的开关后呢?

运行结果为

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\liuhy>

发现原来我们执行的两个命令不再执行,被跳过了。这就是/d开关的作用。

5、CMD /E:ON 扩张机能有效 CMD /E:OFF 扩张技能无效

首先介绍下cmd扩张技能的控制设置

对于电脑来说(默认来说是有效的)

注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions对应的值为0x1的时候就是有效,如果是0x0就是无效。

对于用户来说(默认来说是有效的)

注册表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

输入这些命令以后,我们再按tab键的时候,会自动补全后面参数。

---------------------------------------------------------------------------------------------

当我们执行命令CMD /E:OFF命令以后,就会发现当我们使用的tab键的时候不再补全,而是输入一个tab键。

我理解的这个开关就是这个作用。

6、CMD /V:ON 延迟环境变数的展开有效 CMD /V:OFF 延迟环境变数的展开无效

什么是延迟变量扩展呢?简单的说,就是cmd执行的时候不去先匹配变量的值,而是先执行嵌套的命令,然后再去匹配变量的值。延迟变量的匹配使用感叹号来表示。

具体解释请参考百度百科的解释:http://baike.baidu.com/view/2923132.htm

首先介绍下cmd延迟环境变数的展开的控制设置

对于电脑来说(默认来说是有效的)

注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion对应的值为0x1的时候就是有效,如果是0x0就是无效。

对于用户来说(默认来说是有效的)

注册表HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion对应的值为0x1的时候就是有效,如果是0x0就是无效。

并且用户的设置优先级高于用户的优先级。

7、CMD /F:ON 文件或路径补全功能有效     CMD /F:OFF 文件或路径补全功能无效

当文件或路径补全功能有效的时候,可以使用快捷键来进行补全

ctrl+d:补全路径

ctrl+f:补全文件名

电脑的设置:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

使用16禁止的设置文字 (例 0x4 是 Ctrl-D、0x6 是Ctrl-F)。

用户的设置:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

使用16禁止的设置文字 (例 0x4 是 Ctrl-D、0x6 是Ctrl-F)。

用户的设置的优先级比电脑设置的优先级高。
命令行的设置的优先级比注册表的优先级高。

/F:ON 补全技能打开的場合、使用两个组合键控制 (Ctrl-D 是路径补全、Ctrl-F 是文件名补全)

注册表使用的指定的快捷键无效的情况下,使用空格来进行补全。

cmd的阐述还有一个开关/s不知道是干嘛用的。以后有空的时候在研究下。

[[/S] [/C | /K] 文字列]

DOS批处理命令-CMD命令的更多相关文章

  1. Windows常用的一些DOS下的CMD命令整理

    Windows常用的一些DOS下的CMD命令整理... -------------- 正斜杠--/////-----向右倒--网址正斜杠反斜杠--\\\\------向左倒--文件路径反斜杠 DOS命 ...

  2. windows命令行(DOS批处理)添加任务计划

    自动创建每周运行一次的计划任务 创建计划任务可用at,schtasks命令,schtasks提供了很多参数 命令schtasks SCHTASKS /Create [/S system [/U use ...

  3. DOM所有的命令(CMD)

    刚接触电脑的时候是从DOS系统开始,DOS时代根本就没有Windows这样的视窗操作界面,只有一个黑漆漆的窗口,让你输入命令.所以学DOS系统操作,cmd命令提示符是不可或缺的.可以告诉大家,大多数的 ...

  4. cmd命令详解

    这几天用了一下Windows系统的“黑框”,即win+R键,发现有些命令都忘了,还得查,就总结了一下: cmd命令 CMD命令:开始->运行->键入cmd或command(在命令行里可以看 ...

  5. cmd命令汇总

    一  cmd 命令 cmd命令大全(第一部分) winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr------ ...

  6. cmd命令入门

    第一类: 介绍原生的DOS 首先在cmd命令输入help,看到如下图的结果,这里展示的原生的DOS命令. 这里列出了一些命令,可以自己试试的玩.一般看到一个命令后,如果没有说明文档,你就尝试的在其命令 ...

  7. 常用Windows命令、常用 Cmd命令(补充)

    常用的Windows 命令使用能够提升工作效率以及快捷处理事项. 下面为平时常用的Windows 命令/cmd 命令. 一.以下命令无需打开cmd 窗口即可操作(输入完毕 打个 回车,即可执行). 1 ...

  8. cmd命令符大全

    cmd命令大全(第一部分) winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更 ...

  9. 命令精解之DOS批处理

    前言 最近对于批处理技术的探讨比较热,也有不少好的批处理程序发布,但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件,也就更谈不上自己动手编写了,古语云:“授人以鱼,不如授人以渔.”因为网上 ...

随机推荐

  1. contiki Makefile.include 四个关注点<contiki学习之二>

    Contiki Makefile.include 笔记 约定:  makefile 包括Makefile.Makefile.xxx,并不单指Makefile 不对makefile的语法进行分析,仅仅关 ...

  2. UVa10050 Hartals

    // 题意:输入n和p个整数H[i],其中H[i]表示每H[i]天会有一次活动(但周五周六除外).输出前n天中有多少天有活动.模拟从周日开始.   #include<cstdio> #in ...

  3. UVA 11990 ``Dynamic'' Inversion 动态逆序对

    ``Dynamic'' Inversion Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/index ...

  4. .net简单录音和播放音频文件代码

    本代码特点:不用DirectX ,对于C/S .B/S都适用. 方法: //mciSendStrin.是用来播放多媒体文件的API指令,可以播放MPEG,AVI,WAV,MP3,等等,下面介绍一下它的 ...

  5. 在Zend Studio中为ThinkPHP添加代码自动提示功能

    身边很多朋友都使用ThinkPHP或CodeIgniter等开发框架为自己的项目提高开发效率. 在得力于这些优秀框架良好的设计结构的同时,也头疼于代码的自动完成提示功能没有纯PHP网站那么完善了.经常 ...

  6. setAnimationTransition:forView:cache: 运行动画时背景色问题

    首先我描写叙述一下问题:当我从一个view到另外一个view的时候? 解答:这个问题的解决还须要看setAnimationTransition:forView:cache: 官方Api,官方是这样说的 ...

  7. 判断文件是否为UTF8编码

    utf8的规则比较简单: 对于UTF-8编码中的任意字节B,如果B的第一位为0,则B为ASCII码,并且B独立的表示一个字符; 如果B的第一位为1,第二位为0,则B为一个非ASCII字符(该字符由多个 ...

  8. 使用phpExcel向mysql数据库导入excel

    使用phpExcel向mysql数据库导入excel from:http://blog.163.com/dustye_l/blog/static/172439513201242491016834/ 使 ...

  9. 决策树算法实现(train+test,matlab) 转

    原文:http://www.zgxue.com/198/1985544.html 华电北风吹 天津大学认知计算与应用重点实验室 修改日期:2015/8/15 决策树是一种特别简单的机器学习分类算法.决 ...

  10. 连续调用inet_ntoa打印出错的问题

    近日写程序,在打印信息的时候调用了inet_ntoa函数,出现了打印一直出错的情况.google了一下,是因为inet_ntoa这类函数没有保证线程安全,其实现原理是在静态内容中申请一块内存,每次调用 ...