设置CMD命令提示符更方便使用的几个技巧 cmd使用技巧

2009-10-03 22:58

大家知道,尽管windows图形界面很漂亮,但是很多事情还是需要在命令行下面来做。

因此,CMD或称为命令行提示符就显得非常重要。

但是,Windows下面的命令行很多不方便。用过Linux的朋友知道Bash终端界面要比它强大方便得太多,简直一个在信息时代一个在农业时代。

但是没办法,微软就提供了这种界面,而且从98时代开始,CMD的功能这么多年基本没变过。Win7时代到来了,连丑陋多年的画图工具都面目一新迎接新时代,CMD还是一点没有长进。

凑活着用吧,不然倒是可以装个cygwin或者MSYS就是搞得Windows有些不伦不类。

当然,说Windows 7对命令行毫无作为也不对,Windows 7系统自带另外一套原开发代号为Monad的Shell工具PowerShell,比CMD功能更强。

PowerShell 以 .NET Framework 为基础,与现有的 WSH 保持相容,它的脚本程序不仅能存取 .NET CLR,也能使用现有的 COM 技术。有兴趣的可以参考 http://tech.sina.com.cn/s/2009-10-23/08521107396.shtml 。

本文重点在于传承已久的CMD命令提示符。CMD功能缺失得太多,这里只说几个较有用的便于实现的可以马上提升方便性的解决方法。(以下内容2A、2B、3B方法为 hi.baidu.com/elffin 原创)

1、文件夹右键打开命令提示符(Command prompt in right buttion of folder)

打开以后默认在system32目录,跳到所需目录太麻烦。

解决方法:再文件夹右键中加入打开命令行窗口功能。方法是把下面代码保存为扩展名为Reg的文件(比如addcmd.reg),然后双击执行。
设置CMD命令提示符更方便使用的几个技巧 cmd使用技巧

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTFoldershellDOS]

@="命令提示符"

[HKEY_CLASSES_ROOTFoldershellDOScommand]

@="cmd.exe /K CD %1 "

2、标题显示当前路径(Show current directory in cmd window title)

2A、命令行窗口的标题都是一样的,打开多个CMD窗口的时候,切换时无法辨认,要逐个打开查看。

解决方法:把窗口标题设置为所在当前目录,Linux下面就是这样切换起来很方便。听起来好像很简单的事情,命令行本身所提供功能没法做到这点。

这里,我们需要一点Trick来完成。

首先,需要在电脑中某处建立一个包含以下代码扩展名为cmd或者bat的批处理文件,例如:E:cmdtitle.cmd 。

@echo off

if "%1" == "" ( title %cd% ) Else (

Doskey cd=@Echo off $T cd $* $T %~f0 $T @echo on

cd %1 )

@echo on

然后,把下面代码保存为扩展名为reg的文件,双击运行。该代码中 E:\cmdtitle.cmd 为上面保存的批处理文件完整路径,注意其中要使用 \ 双斜杠。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTFoldershellDOS]

@="命令提示符"

[HKEY_CLASSES_ROOTFoldershellDOScommand]

@="cmd.exe /K E:\cmdtitle.cmd %1 "

然后,在文件夹右键打开CMD窗口看看是不是方便多了。

该方法略有点美中不足是需要使用cd 命令以后标题才会显示当前目录,因此初次打开窗口和切换盘符后不会改变窗口标题。

2B、上面这种方法只适用于文件夹右键打开的命令行窗口,对于直接用CMD命令和使用开始菜单中的 命令提示符 打开的窗口不适用。

如何让它们都具有标题显示当前目录功能呢。可以设定在调用CMD命令时候自动执行上面批处理文件来实现。

具体方法是仍然采用上面所说的 E:\cmdtitle.cmd 批处理文件,但是运行含有下面代码的扩展名为reg的文件。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTFoldershellDOS]

@="命令提示符"

[HKEY_CLASSES_ROOTFoldershellDOScommand]

@="cmd.exe /K CD %1 "

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor]

"AutoRun"="E:\cmdtitle.cmd ."

3. 默认采用管理员身份打开 (Default open cmd as administor)

3A、在Windows 7中,很多命令行程序需要管理员权限,通常的做法是在 命令提示符 或者CMD.exe上右键选择 用管理员身份 打开,但如果每次如此有些麻烦。

可以对附件中的 命令行提示符 快捷方式如下操作:右键——>属性->快捷方式标签,点击高级,->弹出对话框中勾选用管理员身份运行。

这样使用 命令行提示符 快捷方式就会默认打开管理员身份的CMD窗口。

(另外,右键点击附件的 命令行提示符快捷方式,然后选择 附到开始菜单 或者 锁定到任务栏,可以把它放到更方便的地方。)

3B、但该方法只能用于快捷方式打开命令行,不能用于上面所述文件夹右键打开的命令行窗口。

如果希望右键打开默认采用管理员身份登录,我们这里也需要一个一点小把戏。

将下面的代码保存为扩展名vbs的文件,比如E:runcmd.vbs 。

Option Explicit

Private const L_MsgCmdNotFound= "无法找到系统中的命令提示符程序! "

Dim comspec, systemdir, strArg, strPath, strDrive

Dim oFSO, oShell, WShell

Set WShell = WScript.CreateObject("WScript.Shell")

systemdir = WShell.ExpandEnvironmentStrings("%SystemRoot%")

comspec = systemdir & "system32cmd.exe"

if WScript.Arguments.Length > 0 Then

strPath = WScript.Arguments.Item(0)

Else

strPath = WShell.SpecialFolders("Desktop")

End If

Set WShell = Nothing

Set oFSO= CreateObject("Scripting.FileSystemObject")

if ( oFSO.FileExists(comspec) = False ) Then

Wscript.echo L_MsgCmdNotFound

Wscript.Quit(0)

End If

strDrive = oFSO.GetDriveName(strPath)

set oFSO = Nothing

strArg = ""

strArg = "/K "& strDrive & " && CD " & strPath

Set oShell = CreateObject("Shell.Application")

oShell.ShellExecute comspec , strArg , strPath, "RunAs", 1

Set oShell = Nothing

Wscript.Quit(0)

然后导入含有下面代码的扩展名为reg的文件,其中 E:\runcmd.vbs 替代为你上面保存的vbs文件完整路径。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOTFoldershellDOS]

@="命令提示符"

[HKEY_CLASSES_ROOTFoldershellDOScommand]

@="Wscript E:\runCmd.vbs %1 "

设为默认管理员方式的缺点是每次都会出现UAC提示,如果不希望出现UAC提示,只好把UAC功能关掉了。

4、 自动补全(Auto completion)

尽管目前CMD的补全功能很弱,只能对目录和文件名补全,而且不能根据命令智能补全,但还是会方便很多。

目前,XP已经默认开启(从SP2开始?),2000的时候默认是不能的。如果你的命令行补全功能没有开启,打开方法为把下面内容保存为reg文件,双击导入注册表。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor]

"CompletionChar"=dword:00000040

"PathCompletionChar"=dword:00000040

5. 增大缓冲区大小(Enlarge the buffer size)

默认的屏幕缓冲区是300,这样翻几次屏就用完了。现在不像当年,已经不在乎这点内存了,可以把缓冲区加大。

另外,可以把历史缓冲区增大。方法是把下面代码保存为扩展名为cmd的批处理文件,运行即可。

@rem Set History Buffer Size to 200

reg add HKCUConsole /v HistoryBufferSize /t REG_DWORD /d 200 /f

@ rem No Duplication in history

reg add HKCUConsole /v HistoryNoDup /t REG_DWORD /d 1 /f

@ rem Set Screen Buffer Size to 800x80

reg add HKCUConsole /v ScreenBufferSize /t REG_DWORD /d 0x03200050 /f

另外,还可以使用注册表HKCUConsole中的其他项目进行对命令行窗口进行美化,如设置颜色、字体、窗口大小等等。

以上方法都是对CMD进行修修补补,但是CMD本身功能不全,怎么修补也不解决根本问题。

如果你觉得还不够,不要拘泥在CMD上面,可以使用其他的命令行工具。比如前面说的PowerShell,或者一个开源的项目叫做Console。

(有空的话我会再补充一点这方面的东西)

如果你习惯了Linux下面命令行的方便,或者想在Winows中体验一下Linux命令行,怎么办呢。请继续阅读《Windows下轻量级Linux命令行Shell界面MSYS介绍》。

  

爱华网本文地址 » http://www.413yy.cn/a/25101013/153417.html

更多阅读

台式机电脑黑屏的几个原因 笔记本电脑黑屏的原因

台式机电脑黑屏的几个原因——简介电脑的普及率越来越高,在人们的生活和工作过程起着越来越大的作用,然而,有许多情况是在使用电脑的过程中电脑突然就黑屏了,对于新手来说往往会措手不及,现在我来分享下自己遇到的几个电脑黑屏的原因;台

声明:《设置CMD命令提示符更方便使用的几个技巧 cmd使用技巧》为网友浅安时光分享!如侵犯到您的合法权益请联系我们删除