http://www.2cto.com/os/200410/1178.html
虽说Windows的图形界面陪伴我们已有19年,可命令行界面依然保持着它的魅力和活力。它的用途非常广泛,甚至可以来限制一个用户登录网络发送信息的时间。如果你习惯的是Windows 95/98或是Windows Me中的命令提示符模式,那以下就是一个好消息:Windows XP的版本更类似于Windows NT和Windows 2000而不是MS-DOS,这些相似之处包括命令的格式和便于使用的特性,以及其他一些与时俱进的改进。但令人不解的是,旧版本的MS-DOS命令解释程序—command.com—却仍然存在于Windows XP系统中。不过这次我们要研究的则是Windows XP和2000里的版本—cmd.exe. 由于在这样一篇文章里我们不可能面面俱到,所以本文主要讨论界面功能的增强。
我们从建立一个快捷方式开始:随便在什么地方创建一个命令提示符的快捷方式,比如在快速启动工具条里或是桌面上。在创建快捷方式向导中“项目的位置”一栏中输入密码,然后再给这个快捷方式起一个合适的名字,像是“命令提示符”之类的,然后点击“完成”。这样就建好了一个空白的快捷方式以供日后你自定义和修改。
右键点击并选择属性,在对话框里,除了通常的“常规”、“快捷方式”和“兼容性”以外,还有名为“选项”、“字体”、“布局”和“颜色”的几个选项卡。在“选项”页中,前两项分别控制着光标大小和显示选项。但下面的就比较难懂了,左边的一个用来设定命令缓冲区,这相当于Windows 3.0到Windows NT里MS-DOS中那个非常有用但鲜为人知的Doskey命令(见图1)。
![请添加描述](http://myarticle.enet.com.cn/images/200410/1097156923261.jpg)
在命令提示符窗口里,你可以用上下键召回先前的命令。也可以按F7,这样会弹出一个窗口,其中记录着你输入过的命令。输入时先按F9,键入命令的序号再回车即可。
你也可以在“选项”页中改变缓冲区的大小和缓冲区的数目,但这对一般用户来说意义不大。有用的是“丢弃旧的副本”这个选项(通常它是默认关闭的),举例来说,如果你禁用这个选项,然后在几个不同的目录里都运行DIR命令的话,你的历史清单里就只能找到一个DIR条目,即便使用上下方向键也一样。
在编辑选项中,快速编辑的选项也和它在MS-Dos中的前身类似,也就是说,你可以用鼠标选择原文复制,而不需要到系统菜单中去通过点击 “编辑” “标记”来激活它。在Windows 98或之前的版本里,由于默认的编辑模式是覆盖,如果一个命令里遗漏了一个字母,你必须用退格键或方向键删回到缺失的字母处,然后再输入剩下的部分。到了Windows ME中,缺省的编辑模式则改为插入—这样其余的字母会向后移动,就像在Windows下编辑文本一样。在Windows XP里,它变成了一个可选项:你可以选择任何一种方式。
相比之下,“字体”页显得简单明了。你可以选择任意大小的位图字体或是Lucida Console Truetype风格的72号字—虽然屏幕上显示不了几个这样的字。而“布局”页则不仅可以让你控制窗口的大小和位置,还可以来调整屏幕缓冲区的大小。与MS-DOS不同的一点是,当命令窗口被填满后,顶端的信息不会就此消失,而是滚动出了窗口。默认的设置是保留300行—当于整整六屏最大化的MS-DOS窗口,如果你愿意,甚至可以把它设成9999行。当然你也可以改变控制窗口宽度和缓冲区宽度的大小—只不过这样做意义不大(参见图2)。“颜色”页也不需多做解释。可以分别设置主屏幕背景色和文字颜色,以及弹出对话框(像是刚才那个历史命令对话框)的背景色和文字颜色。
![请添加描述](http://myarticle.enet.com.cn/images/200410/1097156927055.jpg)
你也可以右键点击命令提示符窗口的标题栏,从而直接在菜单中选择“属性”来改变这些选项。此时,一切就开始变得复杂了—你可能已经意识到,当你通过快捷方式启动一个命令窗口的时候,它继承了快捷方式的文件名。在我们的例子中,它是“命令提示符”,但是你一旦重命名了这个快捷方式(在属性中的‘常规’页里改),比如改为“George”,它将出现在标题栏里。如果你从开始菜单中运行CMD,在这在这种标准的启动状态下,窗口的标题会是C:WindowsSystem32cmd.exe. 如果信手改动属性选项,就会弹出一个对话框:“属性仅对当前窗口生效”或者是“修改启动该窗口的快捷方式”,让人很是困惑。
然而,如果你在开始菜单中运行cmd.exe,然后修改属性的话,你会看到另外一个对话框:“属性只对当前窗口生效”或是“保存属性,供以后具有相同标题的窗口使用”。另外,系统菜单的“默认”项目下又多出了一个额外项目:自动完成。它的作用显而易见——我们不需要键入完整的文件或文件夹的名称,而只要打上一个或几个字母,再按TAB键,命令处理器就会提供自动完成的建议。比如你处于C:windows目录下想要去C:program files,只需键入“cd c:p”然后按TAB键就行了。如果自动完成建议的并非你想要的,你只需不断的按TAB键直至你想要的出现即可。
听上去似乎很是方便,但是实际使用中却仍会出岔子。因为Windows在许多犄角旮旯的地址中储存了各种各样的命令处理器选项,它们之间的相互作用又如同迷宫一般。对于这个问题,幸好我们还有三个简化方法。一是使用Windows XP版的TweakUI,你可以从www.microsoft.com/windowsxp/pro/downloads/powertoys.asp下载,它能为自动完成功能提供一个非常广泛的按键选择。其他的Tweaking程序,如Winguides Tweak Manager也提供相似的功能。另一种冒险的选择是做好提前备份后直接修改注册表。进入HKEY_CURRENT_USERSoftware
MicrosoftCommand Processor寻找名为“CompletionChar”的键值,如果没有,就创建一个同名的DWORD,将其键值设为9,也就是TAB键的代码。你也可以在HKEY_LO-
CAL_MACHINESOFTWAREMicrosoft
Command Processor中重复这一过程,但你需要记住的是,HKEY_CURRENT_USER中的设定是总会优先于HKEY_LOCAL_MACHINE中的设定。
![请添加描述](http://myarticle.enet.com.cn/images/200410/1097156930948.jpg)
如果你实在不想被注册表或者Tweaking工具弄得晕头转向的话,还有一个方法。让我们回到那个快捷方式的属性页(见图3)。在“快捷方式”页里的“目标”框里你应该可以看见到cmd.exe的路径。你可以在此处使用各种参数,我们这次要用的则是“ /f:on.”(记住在斜线前留一个空格,否则该快捷方式不会起作用)。这也会开启自动完成功能,只是你没法选择功能键—你只能使用Ctrl+F自动补全文件和文件夹的名称,或者只用Ctrl+D来补全文件夹的名称。
当然你可以使用别的一些参数,比如“ /t:1e”可以设定背景颜色为深蓝色,文本为黄色。你也可以使用其他的颜色,十六进制的数值范围从0(黑色)到f(白色),冒号后面第一个数字代表背景。如果要使用多个的参数的话,它们之间还必须留有空格。
另一个有用的参数是在“ /e:”后面加“on”或“off”.用来开启或关闭“扩展名命令”。这可以构成一系列便于使用的命令。举个例子,在使用CD(change directory变换目录)命令的时候,你不必在文件夹的名称前后打空格;你也可以在用MD(make directory建立目录)命令的时候建立多层目录;你也可以在相关的Windows应用程序里仅仅键入文件名来打开该文件。虽然扩展名是默认需要的,但这可以在注册表里关闭掉,因为这些参数通常直接覆盖注册表设置,所以使用参数也是一个改变设置的好办法(参见图4)。
![请添加描述](http://myarticle.enet.com.cn/images/200410/1097156933833.jpg)
一个值得注意的故事
一位读者的Windows XP系统的计算机在引导的时候有时候会启动帮助中心,然后就会重复这一过程,载入更多的帮助中心直到电脑死机。用MSCONFIG剔除所有涉及帮助的启动程序并查找微软知识库重命名了helpctr.exe之后,问题依然存在。这时他才发现,有时候F1键被卡住了没弹起来,而F1键正是用来启动帮助的。
丢失的密钥
众所周之,如果你丢失了Windows XP、Office XP或Office 2003的产品密钥——印在包装盒上某处黄色不干胶贴上的那个25位数字的话,那么你重装系统时候就会头疼了。与以前的版本不同的是,XP的产品密钥是以密码的形式而非直接的形式储存在注册表里。然而,在www.pcw.co.uk/download/1154513有一个叫做Belarc Advisor的免费工具可以帮助你解决这个难题。运行后就会在你的浏览器创建一个Web页,其中列出了你计算机安装的所有软硬件的详细信息,所有Windows热补丁、第三方软件版本、硬盘、主板和内存等,非常清楚明白——当然还有你的XP和Office的产品密钥。
整理日志
再来谈谈关于XP防火墙日志文件的问题,pfirewall.log输出的原始文本简直一塌糊涂。对付这个问题的一个方法是去掉标题,将文件以“固定宽度”方式导入Excel,然后格式化纵栏。另外有一个简单有效的工具——Robert McBrides XPLogger 2.1a——可以使pfirewall.log的原始文本文件的显示变得整洁起来。它可以从www.majorgeeks.com/download.php?det=