作者:天悬星河
今天闲来无事,不知怎么的心血来潮,想起来要美化一下自己的CMD命令行窗口。后来回忆起很久很久以前看杂志说过可以顺带给他加密、让CMD支持少许Linux下的命令行(因为是用doskey命令来映射的,所以只能支持少许)
先来看看效果图吧:
虽说不是什么特别绚丽,至少让它更符合自己的使用习惯了。接下来就说说怎么美化它吧,其实这个很简单,只要写一个BAT文档放在特殊位置就可以了,不过这样用的时候,网上大部分技术文档建议使用“.cmd”后缀,不要紧了,其实就是bat的语法。
在Windows的注册表中,有一个地方是管理CMD的,在“[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]”这个地方有一个名为“AutoRun”的的字符串值,里面的内容可以是一个批处理,这样的话每次进入“CMD”就会先运行那个批处理,所以做这些美化加密就从那个批处理入手吧。
那个批处理原文:
@echo off cls echo ----------------------------------------- echo ☆ .·°∴° ★·°∴°∴°.☆°★°∴° echo °∴ 那怕星际无垠 ☆° .·★°∴°.°° echo ∴°.°★ .·°∴°.°∴°.★☆° .· echo °.☆° 我也要追到你.★· °.°°.★ echo .·°∴★°.°∴°.☆° .·°∴°.° echo .·°∴°★.并永远爱你.°∴·°°∴☆° echo ☆ .·°∴° ☆..·°∴★°天悬星河∴· echo ∴°★.☆° .☆..·°★.° .·。∴° echo ----------------------------------------- echo 现在时间是:%date% %time% echo ----------------------------------------- color 0a rem===此处用于转换Linux常用命令=== prompt 天悬星河$B$P$G$S doskey ls=dir doskey pwd=chdir doskey clear=cls doskey mv=move doskey rm=del rem=============================== setlocal set pass=0 set times=2 echo 为安全起见,CMD命令已加密! :start set /p pass= 进入CMD请输入密码: if "%pass%" equ "123456" goto ok echo 密码错误,请重新输入! echo 你还有%times% 次机会 if %times%==0 goto err echo 状态:用户输入密码 验证失败 set /A times=%times%-1 goto start if "%pass%" neq "123456" goto err :err echo 密 码 错 误 !! echo 未经授权擅自闯入者请自重。。。 pause exit :ok echo 密 码 正 确 !! echo 欢迎使用CMD天悬星河美化版。。。 title 天悬星河 http://www.candura.us endlocal
这里面大部分命令都是大家熟悉的,就不多介绍了,只要把那两个if语句中间双引号里面的部分改成自己密码就行了。说说这里面几个特殊的命令吧。
title 命令:这个命令是用来修改CMD的窗口标题的,使用方法和 echo 一样,在title命令后面加上你想让标题栏显示的内容即可,我这里让它显示“天悬星河 http://www.candura.us”。
color 命令:这个是用来设置前景色和背景色的,在color后面通常加两个参数,第一个参数是背景色,第二个参数是文字的颜色。具体为: 0.黑色 1.蓝色 2.绿 3.湖蓝色 4.红 5.紫色 6.黄 7.白色 8.灰色 9.浅蓝色 A.浅绿色 B.浅水绿 C.浅红 D.浅紫色 E.浅黄色 F.亮白色。所以我这里面使用“color 0a”显示的效果就是黑色背景,绿色文字。
doskey 命令:这个命令就是用来做映射的命令,我就是用它来实现让cmd支持少许Linux命令的。它的使用方法是:doskey 新命令=原命令。比如Linux下显示当前文件夹下内容是用“ls”命令,而在CMD下面是用“dir”,那么就设置成“doskey ls=dir”就行。用这个方法还可以自己设置自己喜欢的命令,只要不重复就行。
prompt 命令:这个命令对于平常很少见,它是用来更改提示符显示的。CMD默认的命令提示符显示的是“路径+大于号”然后右边是用户输入的命令。用这个可以更改,像我这里就改成了“天悬星河+分隔符+路径+加大于号+空格”。详细使用方式及参数如下:
PROMPT [text] text 指定新的命令提示符。 提示符可以由普通字符及下列特定代码组成: $A & (短 and 符号) $B | (管道) $C ( (左括弧) $D 当前日期 $E Escape 码(ASCII 码 27) $F ) (右括弧) $G > (大于符号) $H Backspace (擦除前一个字符) $L < (小于符号) $N 当前驱动器 $P 当前驱动器及路径 $Q = (等号) $S (空格) $T 当前时间 $V Windows 版本号 $_ 换行 $$ $ (货币符号) 如果命令扩展被启用,PROMPT 命令会支持下列格式化字符: $+ 根据 PUSHD 目录堆栈的深度,零个或零个以上加号(+)字符,一个推的层一个字符。 $M 如果当前驱动器不是网络驱动器,显示跟当前驱动器号或空字符串有关联的远程名。
利用这个命令可以更加深入的模仿Linux下面命令行的提示符显示方式,在做美化的时候很有用。
接下来写好自己的cmd文件之后就可以复制到系统文件夹去了,一般复制到 X:\Windows\ 或者 X:\windows\system32\ (其中X为系统所在盘符)就可以了。然后,进入注册表(开始→运行→输入“regedit”后回车),找到“[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]”这个位置,新建一个“AutoRun”的字符串值,里面填写那个文件的完整路径就行,注意文件夹常用的“\”在这里要写成“\\”,像我的就是“C:\\WINDOWS\\system32\\candura.cmd”。
做好这些之后再运行CMD看看,是不是截然一新了呢!为了方便修改,我自己写了几个批处理和注册表文件,方便进行安装和卸载,在我的博客有下载,大家要修改只要修改 candura.cmd 里面的内容保存,再运行“安装.bat”就可以自动复制并且导入注册表了,卸载的时候运行“卸载.bat”就行了。
美化CMD.zip 118.62KB

