首页    新闻    下载    文档    论坛     最新漏洞    黑客教程    数据库    搜索    小榕软件实验室怀旧版    星际争霸WEB版    最新IP准确查询   
名称: 密码:      忘记密码  马上注册
安全知识 :: windows技术

Cmd.exe更加复杂、强大的命令行参数


http://www.gipsky.com/
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 从<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>中停用执行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<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>变量。假如其中一个或两个都存在,这两个变量会先被执行。

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun



HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

命令扩展按默认值是启用的。你也可以使用 /E:OFF,为某一特定调用而停用扩展。你可以在用户登录会话上启用或停用cmd.exe所有调用的扩展,这要通过设置使用Regedit32.exe 的<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>中的一个或两个REG_DWORD值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions



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

0。用户特定设置比机器设置有优先权。命令行命令选项比<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>设置有优先权。

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

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的<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>中的一个或两个REG_DWORD

值:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion



HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion到0x1或0x0。用户特定设置比机器设置有优先权。命令行命令选项比<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>设置有优先权。

假如延迟环境变量扩充被启用,赞叹号字符可在执行时间,被用来代替一个环境变量的数值。

文件和目录名完成不按默认值启用。你可以用/F:ON或/F:OFF命令选项,为cmd.exe的某个调用而启用或停用文件名完成。你可以在机器上或用户登录会话上启用或停用cmd.exe所有调用的完成,这要通过设置使用Regedit32.exe 的<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>中的一个或两个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),用户特定设置优先于机器设置。命令行命令选项优先于<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>设置。

假如完成是用/F:ON命令选项启用的,两个要使用的控制符是:目录名字完成用Ctrl-D,文件名完成用Ctrl-F。要停用<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>中的某个字符,请用空格(0x20)的数值,因为此字符不是控制字符。

假如键入两个控制字符中的一个,完成会被调用。完成功能将路径字符长带光标的左边,假如没有通配符,将通配符附加到左边,并建立相符的路径列表。然后,显示第一个相符的路径。假如没有相符的路径,则发出嘟嘟声,不影响显示。之后,重复按同一个控制字符会循环显示相符路径的列表。将 Shift 键跟控制字符同时按下,会倒着显示列表。假如对该行进行了任何编辑,并再次按下控制字符,保存的相符路径的列表会被丢弃,新的会被生成。假如在文件和目录名完成之间命令选项,会发生同样现象。两个控制字符之间的唯一区别是文件完成字符符合文件和目录名,而目录完成字符只符合目录名。假如文件完成被用于内置式目录命令(CD、MD或RD),就会使用目录完成。

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

编者按:前边讲了这么多,主要是从原理上介绍了<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=微软 target="_blank"><font color=red>微软</font></a></b>的一种命令扩展和路径扩展,至于

它要完成的功能对于我们大多数电脑爱好这来说是很有趣并且是实用价值的,从小编在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…”、“%…”等,不知<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=微软 target="_blank"><font color=red>微软</font></a></b>此举是何用意?笔者死活想不出这种功能有何用处,只能解释为是一个无关紧要的Bug。

由以上可以看出,传统的DOS在Win2000时代并不是被完全抛弃,而是被发扬光大,它已经由历史上一个独当一面的<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=操作系统 target="_blank"><font color=red>操作系统</font></a></b>转变为Win2000<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=操作系统 target="_blank"><font color=red>操作系统</font></a></b>的有机组成部分。有道是尺有所短,寸有所长,命令行与图形界面相比自有其独特魅力。我们不应忘记“老DOS”,更不应忽视对命令行操作的了解和使用,许多时候,一个并不怎么复杂的操作只需用命令行就能既快又好地完成,又为什么非得要寻找(甚至是开发)一个专门的图形界面的工具呢?
<< 最短的免FSO CMD SHELL 代码 Serv-U ftp server 密码算法 >>
评分
10987654321
API:
gipsky.com& 安信网络
网友个人意见,不代表本站立场。对于发言内容,由发表者自负责任。

系统导航

 

Copyright © 2001-2010 安信网络. All Rights Reserved
京ICP备05056747号