liut

liut.xyz

为 CMD 设置别名

Posted at — May 20, 2017

最近,在工作上,经常使用 cmd 来执行某些命令,有些命令很长很固定,就想,win 的 cmd 能不能像 Linux 终端一样去设置别名(alias)呢?在网上搜下,果然可以!就整理一下贴出来,以备查阅。

win 下有个 doskey 命令,就相当于Linux中的alias,可以用来设置别名:

	# 设置 ls = dir
	doskey ls=dir

	# ls = dir $*表示后面可以接参数
    doskey d=dir $*

嗯,别以为这么简单,因为这些命令仅对当前窗口有效,也就是说,关掉 cmd 窗口,下次打开就没了。

使别名永久有效

若要永久有效,那只能让 cmd 在启动的时候去执行一些命令(doskey),修改注册表可以实现这一功能。以下是实现 win 设置别名的具体步鄹:

建立命令映射文件

新建文件,文件名随意,这里我们叫 alias.ini ,内容如下:

ls=dir /ONE $*
cat=type $*
rm=del $*
cd=cd /d $*
pwd=cd
mkdir=md $*
lt=dir /OD $*
py=python $*

dev=adb devices
adbstop=adb kill-server
adbstart=adb start-server
ins=adb install $*
un=adb uninstall $*

topa=adb shell dumpsys activity | findstr "mFocusedActivity"

上面即是需要设置的别名列表,可根据需要自行修改。

自动运行脚本

新建文件,名称随意,这里叫 autorun.bat

doskey /macrofile=E:\OneDrive\应\configs\alias\alias.ini
cls
@echo ----------------------------
@echo 欢迎使用 liut 私人定制 cmd !
@echo ----------------------------

脚本第一行,会使 alias.ini 中的映射生效。“=”后面的值,替换为 alias.ini 的路径即可;必须;

脚本第二行,为清空窗口的,非必须;

后三行为美观(装逼)所用,无意义,可自行修改,非必须。

导入注册表,功能实现

新建文件,名称随意,这里叫 import.reg ,内容如下:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"CompletionChar"=dword:00000009
"DefaultColor"=dword:00000000
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000009
"Autorun"="E:\\OneDrive\\应用\\configs\\alias\\autorun.bat"

最后一行,把路径改为自己的 autorun.bat 所在的路径,已经要用双反斜杠,别问我为啥,我咋知道?

保存,双击导入即可。

comments powered by Disqus