cmd.exe启动参数说明

启动命令解释程序 Cmd.exe 的新范例。如果在不含参数的情况下使用,cmd 将显示操作系统的版本和版权信息。

语法

cmd [{/c | /k}] [/s] [/q] [/d] [{/a | /u}] [/t:FG] [/e:{on | off}] [/f:{on | off}] [/v:{on | off}] [String]

参数

/c

执行 String 指定的命令,执行完后停止,会退出。例如:

@echo off

cmd /c "echo %cd%  & echo ddddd  & set xxx=12345"
pause
cls

后面的pause和cls也会执行,执行到最后则会退出当前的运行环境(双击运行方式),但当前环境变量xxx不会保留(开始->运行->cmd,然后执行当前bat文件的方式执行完后,再次输入set查看当前环境变量)

/k

执行 String 指定的命令并继续,运行完会保持当前运行窗口及环境变量。例如:

@echo off

cmd /k "echo %cd%  & echo ddddd  & set xxx=12345"
pause
cls

程序执行完cmd后面字符串的命令后就会暂停执行,所以后面的pause和cls不会执行。但窗口和环境变量会保持。运行方式:双击或从命令行执行当前bat文件都行

/s

修改 /c 或 /k 后对 String 的处理。

/q

关闭回显。

/d

禁用 AutoRun 命令执行。

/a

将内部命令输出按美国国家标准学会 (ANSI) 格式化为管道或文件。

/u

将内部命令输出作为 Unicode 格式化为管道或文件。

/t:FG

设置前景 F 色和背景 G 色。下表列出了可用作 F 和 G 值的有效十六进制数字。

 
颜色

0


黑色


1


蓝色


2


绿色


3


浅绿色


4


红色


5


紫色


6


黄色


7


白色


8


灰色


9


淡蓝色


A


淡绿色


B


淡浅绿色


C


淡红色


D


淡紫色


E


淡黄色


F


亮白色

/e:on

启用命令扩展。

/e:off

禁用命令扩展。

/f:on

启用文件和目录名称完成。

/f:off

禁用文件和目录名称完成。

/v:on

启用延迟的环境变量扩展。

/v:off

禁用延迟的环境变量扩展。

String

指定要执行的命令。

/?

在命令提示符下显示帮助。

注释

使用多个命令

可以在 String 中使用由命令分隔符 && 分隔的多个命令,但这些命令必须用引号括起来(例如,"Command&&命令&&命令")。


处理引号

如果指定了 /c 或 /kcmd 会处理 String 中的其余命令,并且只有在满足下述所有条件的情况下,才保留引号:


未使用 /s


准确使用了一对引号。


在引号内未使用任何特殊字符(例如:&<>( ) @ ^ |)。


在引号内使用了一个或多个空白字符。


引号内的 String 为可执行文件的名称。

如果上述条件不能满足,则处理 String 时将首先检查它的第一个字符以验证其是否为左引号。如果第一个字符是左引号,则它会与右引号分离开。跟在右引号之后的任何文本都会得到保留。


执行注册表子项

如果在 String 中未指定 /d,则 Cmd.exe 会查找以下注册表子项:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun\REG_SZ

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun\REG_EXPAND_SZ

如果上述的一个注册表子项或两个都存在,则会在执行所有其他变量之前执行它们。

警告


编辑注册表不当可能会严重损坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。


启用和禁用命令扩展

在 Windows XP 中,命令扩展在默认情况下是启用的。对于特定进程,可使用 /e:off 禁用它们。通过设置下述 REG_DWORD 值,可以在计算机上或用户会话中启用或禁用所有 cmd 命令行选项的扩展:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions\REG_DWORD

在注册表中使用 Regedit.exe 可以将 REG_DWORD 值设为 0×1(即启用)或 0×0(即禁用)。用户特定设置优先于计算机设置,并且命令行选项优先于注册表设置。

警告


编辑注册表不当可能会严重损坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。

启用命令扩展后,会影响到下述命令:


assoc


call


chdir (cd)


color


del (erase)


endlocal


for


ftype


goto


if


mkdir (md)


popd


prompt


pushd


set


setlocal


shift


start(还包括将更改外部命令过程)

有关这些命令的详细信息,请参阅“相关主题”。


启用延迟的环境变量扩展

如果启用延迟的环境变量扩展,则可以使用感叹号字符来替代运行时的环境变量值。


启用文件和目录名称完成

默认情况下,禁用文件和目录名称完成。对于特定的 cmd 命令处理,可以通过 /f:{on|off 来启用或禁用文件名称完成。通过设置下述 REG_DWORD 值,可以在计算机上或用户登录会话中启用或禁用所有 cmd 命令处理的文件和目录名称完成:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar\REG_DWORD

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar\REG_DWORD

要设置 REG_DWORD 值,请运行 Regedit.exe 并使用特定功能的控制字符的十六进制值(例如,用 0×9 表示 Tab 键,用 0×08 表示 BackSpace 键)。用户特定设置优先于计算机设置,并且命令行选项优先于注册表设置。

警告


编辑注册表不当可能会严重损坏您的系统。在更改注册表之前,应备份计算机上任何有价值的数据。

如果使用 /f:on 启用了文件和目录名称完成,则对于目录名称完成,可使用 Ctrl+D;而对于文件名称完成,可使用 Ctrl+F。要禁用注册表中特定的完成字符,请使用空格 [0×20] 的数值,因为空格不是有效的控制字符。

按 Ctrl+D 或 Ctrl+F 时,cmd 会处理文件和目录名称完成操作。这些组合键的作用是在 String 后附加通配符(如果还未使用),并创建匹配的路径列表,然后显示第一个匹配的路径。如果所有路径都不匹配,文件和目录名称完成操作会发出警告声,并且不更改所显示的内容。要逐个查看匹配路径列表中的路径,请重复按 Ctrl+D 或 Ctrl+F。要向后查看该列表,请在按 Shift 键的同时按 Ctrl+D 或 Ctrl+F。要放弃已保存的匹配路径列表并生成新列表,可以编辑 String,然后按 Ctrl+D 或 Ctrl+F。如果在 Ctrl+D 和 Ctrl+F 之间切换,将会放弃已保存的匹配路径列表并生成新列表。Ctrl+D 组合键与 Ctrl+F 组合键之间唯一的不同在于,Ctrl+D 仅匹配目录名,而 Ctrl+F 既匹配文件名,又匹配目录名。如果在任何内部目录命令(即 CDMD 或 RD)中使用文件和目录名称完成,将仅使用目录完成。

如果将匹配路径置于引号之中,则文件和目录名称完成会正确地处理含有空格或特殊字符的文件名。

下述特殊字符需要有引号:& < > [ ] { } ^ = ; ! ‘ + , ` ~ [空格]

如果提供的信息包含空格,请使用引号将文本引起来(例如,"计算机名")。

如果从 String 内处理文件和目录名称完成操作,则将放弃 [Path] 在光标右侧的任何部分(即在 String 中处理完成操作的位置)。

出处:http://www.cnblogs.com/TsengYuen/archive/2011/02/10/1951004.html

时间: 2024-10-05 05:01:53

cmd.exe启动参数说明的相关文章

CMD 使用emulator.exe启动Android模拟器——emulator -data 镜像文件名称

在命令行[CMD]使用emulator.exe启动Android模拟器两种方式: - emulator -avd (AVD名称) - emulator -data (镜像文件名称) avd目录中的镜像文件 image 有: 文件 文件类型 cache.img: VMS Alpha executable userdata.img: VMS Alpha executable userdata-qemu.img: data 到底哪个镜像文件是呢? 显然cache.img不是,userdata-qemu

关于.Net中Process的使用方法和各种用途汇总(二):用Process启动cmd.exe完成将cs编译成dll

上一章博客我为大家介绍了Process类的所有基本使用方法,这一章博客我来为大家做一个小扩展,来熟悉一下Process类的实际使用,废话不多说我们开始演示. 先看看我们的软件要设计成的布局吧. 首先我们需要给定会使用到的dll,记得vs中的引用那一项吗?我们虽然不需要将这里面的引用全部导入进来,但是我们需要将我们使用过的dll全部导入进来,不然编译时会提示找不到类方法之类的. 可能有些同学不知道怎么查看一个类或者方法所在的dll,其实只用对着那个方法或者类按下f12就能在打开的文档的正上方看到所

vista忘记用户名密码的修改方法(使用PE进入系统,用cmd.exe冒充虚拟键盘,然后就可以mmc组策略,或者命令行添加用户并提升权限)

1. 准备Windows Vista安装光盘,进入BIOS将光驱设为第一启动,在出现的安装界面依次单击"修复计算机","命令提示符". 2.输入以下命令: copy c:\windows\system32\cmd.exe d:\ rename c:\windows\system32\osk.exe oldosk.exe rename d:\cmd.exe osk.exe copy d:\osk.exe c:\windows\system32 3.重新启动电脑并退出光

在CMD下启动vmware、Xshell连接虚拟机以及控制Chrome浏览器自动执行js登录校园网

标题有点长,主要是写个bat出来玩玩, (1)不用每次都手动关闭mysql服务(我不想把它设为手动启动,有强迫症) (2)然后希望每次vmware能自动连上虚拟机 (3)以及每次Xshell都能自动启动,然后就连上虚拟机 (4)然后校园网每次都要打开,输入帐号密码什么的,才能连网,我希望它自己搞定 做完了这几步还是有点意思的,主要是浏览器还是网页的什么自动化测试,然后eclipse下项目打包成可执行的jar包 现在听我娓娓道来吧! 前面要达到的目的跟着后面的命令并无关联 (1)首先在bat里面关

C#程序调用cmd.exe执行命令

代码部分 using System.Diagnostics; public class CmdHelper { private static string CmdPath = @"C:\Windows\System32\cmd.exe"; /// <summary> /// 执行cmd命令 /// 多命令请使用批处理命令连接符: /// <![CDATA[ /// &:同时执行两个命令 /// |:将上一个命令的输出,作为下一个命令的输入 /// &&

Java 调用cmd.exe命令

转自:http://blog.163.com/[email protected]/blog/static/1406291232012575743301/ java的Runtime.getRuntime().exec(commandText)可以调用执行cmd指令 cmd /c dir 是执行完dir命令后关闭命令窗口. cmd /k dir 是执行完dir命令后不关闭命令窗口. cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭. cmd /k start dir

win8中让cmd.exe始终以管理员身份运行

最近在学习配置本地服务器,在命令行启动mysql时总是由于权限不足而失败, 查了好多方法,终于找到一劳永逸的方法了. Win+R -- cmd ,这样总是不能,还要找到cmd.exe右键以管理员身份运行cmd,再 net start mysql才可以. 每次都这样相当麻烦,能不能默认就让cmd.exe以管理员身份来运行呢? 答案是可以的. Win+R -- regedit 找到以下位置 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Current

visual 2008中error PRJ0003 : 生成 cmd.exe 时出错

visual 2008中error PRJ0003 : 生成 cmd.exe 时出错”,   和vs2008 sp1没关系 解决方案:工具—>选项—>项目和解决方案—>VC++目录,在可执行文件栏中加上如下路径: $(SystemRoot)/System32$(SystemRoot) 现在运行成功了,输出内容: ------ 已启动生成: 项目: Game, 配置: Debug Win32 ------ visual 2008中error PRJ0003 : 生成 cmd.exe 时出错

【转】C#程序调用cmd.exe执行命令

代码部分 using System.Diagnostics; public class CmdHelper     {         private static string CmdPath = @"C:\Windows\System32\cmd.exe";         /// <summary>         /// 执行cmd命令         /// 多命令请使用批处理命令连接符:         /// <![CDATA[         ///