设置CMD命令提示符更方便使用的几个技巧 cmd使用技巧
大家知道,尽管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),然后双击执行。
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介绍》。
更多阅读
如何更方便快捷的用淘宝助理上架宝贝。 淘宝助理上架宝贝教程
如何更方便快捷的用淘宝助理上架宝贝。——简介 此帖主要是分享给淘宝卖家的。现在很多货源上架都没有数据包,自己产品拍摄下来的图片或者代理商提供的图片,都只能手动一张张图上传,太辛苦了,肿么办肿么办T-T目前宝贝上传的途径有两种:
台式机电脑黑屏的几个原因 笔记本电脑黑屏的原因
台式机电脑黑屏的几个原因——简介电脑的普及率越来越高,在人们的生活和工作过程起着越来越大的作用,然而,有许多情况是在使用电脑的过程中电脑突然就黑屏了,对于新手来说往往会措手不及,现在我来分享下自己遇到的几个电脑黑屏的原因;台
人像摄影快速上手的10个技巧-广州摄影培训机构 户外人像摄影技巧
人像摄影快速上手的10个技巧-广州摄影培训机构发布时间:2013-12-30在结束了近期连续几次广州摄影培训机构举办的人像拍摄活动之后在视禾学习论坛看到不少学员上交的拍摄作品。有很多精华也有稍的不足之处,今天我就针对人像拍摄给大家
煤标准物质常见的几个使用方法 高中化学常见物质俗名
煤标准物质常见的几个使用方法一、用于绘制试验质量控制图:用标准物质的标准值和不确定度值可绘制质量控制图。控制图是用于日常煤质检验时,连续监控试验条件的变化情况,能及时掌握试验数据的质量信息及
关于拉特雷尔·斯普雷维尔的几个故事和几个“如果” 斯普雷维尔破产
关于拉特雷尔·斯普雷维尔的几个故事和几个“如果”话及斯普雷维尔,很容易和2004-06的阿泰斯特或近两季的阿里纳斯归成一类:“场外问题比场上表现更有名。”比如在2004-08年,奥本山事件是阿泰斯特的标签,比如2008-11年,博客+持枪+亿元合