代码改变世界

WIndows 下的 CMD 补全功能

2011-01-23 20:54  sunblackshine  阅读(3001)  评论(0编辑  收藏  举报

用惯了 Linux Shell 回到 Windows 做开发的时候总觉得 CMD 非常别扭,不能补全,不能保留历史记录,不能高亮显示,窗口不能最大化,不能这个不能那个。

所以今天特意搜索了一下第三方软件,中文搜索的时候没有发现好东西,英文搜索的时候发现了不少好东西,看来以后还是多多用英文的好啊,长见识。

 

主要在这个页面(参考文章[1])上发现了不少可替代 CMD 的软件,不少是开源的,大家有兴趣可以去试试。

我比较中意的是 PyCmd 这款,一看名字的开头就知道是 python 写的东西,别不服气,python 就是有天生的优势去写这些 shell 管理类的东西。

直接上图了,最后附加一个添加右键 Command Here 的 bat。

 

优点,

1、可以缓存11条命令,这个我觉得可以改,

2、对所有可用命令进行补全,包括 System32 PATH 等,

3、对当前目录可用目录补全,CD 进入目录的时候有用,

4、补全时的颜色是高亮的

缺点,

不能最大化。

我感觉这个软件提升的空间还很大,现在是 0.7 ,期待下一个版本。

 

如果想要右键当前目录 CMD 操作可以再注册表中注册一下该程序。

 

PyCmdHere.bat
@echo off

set
"curdir=%cd%"
set
"curdir=%curdir:\=\\%"

echo Windows Registry Editor Version
5.00>\PyCmdHere.reg

echo [HKEY_CLASSES_ROOT\folder\shell\PyCmd]
>>\PyCmdHere.reg
echo
@="PyCmd Here">>\PyCmdHere.reg

echo [HKEY_CLASSES_ROOT\folder\shell\PyCmd\command]
>>\PyCmdHere.reg
echo
@="%curdir%\\PyCmd.exe -k cd %%1">>\PyCmdHere.reg

\PyCmdHere.reg
rem del \PyCmdHere.reg

 

OK,放置该脚本在 PyCmd.exe 同目录运行即可。

 

-------------------------------------

另外发现一个好东西 PowerShell, cnblogs 编辑器代码高亮中也有这个语言的语法高亮。

这东西的功能更强大,命令更多,而且可以远程连接其他 PowerShell 终端做分布式配置(WinRM 2.0)

不知道怎么回事,中文介绍的文章比较少。

有兴趣的同学可以看看,同样上图

瞄了几眼,看到的优点有

1、窗口更大了,可以最大化。

2、功能更强大了,竟然有 cat 等命令了,原来用 type 命令别提有多别扭了。

3、单击就可以选择文本,而且部分东西用彩色高亮。

4、自动补全所有可用命令,但不是如 bash 的列表形式,还是老式的 CMD 可用命令切换的形式(不能看到所有可用命令,但是可以补全了)。

缺点

1、补全时不能看到所有可用命令

2、不能缓存上一次的命令操作

3、启动 PowerShell 时稍慢些

4、一些临时建立环境变量的脚本不起作用了,比如 python 的 virtualenv 生成的 active.bat

开启方式是在开始菜单中搜索 power 关键字就会找到啦

Windows PowerShell 是 CMD,Windows PowerShell ISE 是GUI。

 

Windows PowerShell

Windows PowerShell ISE

 

参考文章:

[1]http://alternativeto.net/software/windows-command-prompt-cmd/?platform=windows

[2]http://technet.microsoft.com/zh-cn/scriptcenter/dd742419.aspx

[3]http://technet.microsoft.com/zh-cn/library/dd367858(WS.10).aspx

[4]http://www.computerperformance.co.uk/windows7/windows7_powershell.htm#Getting_Started_with_PowerShell_in_Windows_7