之前两篇文章,我们聊到Alias的一些常用实例
类Unix系统中的Alias,为一段功能命令设置一个别名,然后利用该别名去调用该功能,以此来提升工作效率
由于 Windows 系统的特殊性,在定义 Alias 方面与 Linux/Mac 不太一样
下面讲讲 Windows 分别在 CMD、PowerShell 中实现 Alias 的具体步骤
1、CMD
具体步骤如下:
1-1 创建一个批处理文件
比如:在系统的用户目录创建一个批处理文件 alias.bat
1-2在批处理文件中,定义别名
使用关键字「 doskey 」定义别名,$* 用于指定一个输入参数
比如:下面定义了两个别名,分别是安装依赖、查看当前代码的提交版本 id
@echo off
doskey pi=pip install $*
doskey gitci=git rev-parse HEAD
1-3 修改注册表
首先,通过 win+r,输入关键字「 regedit 」打开注册表
然后,在地址栏中输入下面地址
计算机\HKEY_CURRENT_USER\Software\Microsoft\Command Processor
最后,选中 Command Processor 项右键,创建一个新的字符串值(名称必须设置为 AutoRun,数值数据设定为上面创建的批处理文件的绝对路径)
PS:如果 Command Processor 不存在,可以在「 Microsoft 项」上右键,创建一个新的项,名称设置为 Command Processor
1-4 重启 CMD 命令窗口并使用
1-5 多条命令及函数
上面定义 Alias 都是针对单条命令,如果想为多条命令带可变参数指定一个 Alias 别名,该如何实现呢?
我们只需要使用关键字「 $T 」连接多条命令,利用关键字「 $* 」作为可变参数即可
比如,下面定义了一个别名,相当于调用了 3 条命令
# 命令1:cd到某个文件夹目录
# 命令2:查看当前目录下所有的文件
# 命令3:在文件管理器中打开
doskey feo=cd C:\Users\xingag\Desktop\fe $T dir $T explorer $*
PS:后续如果想编辑或追加 Alias 别名,只需要更新批处理文件 alias.bat,然后重新启动 CMD 命令窗口即可以生效
2、PowerShell
通过测试,我们发现在 CMD 中定义的 Alias 并不能在 PowerShell 中使用
所以我们需要针对 PowerShell 另外设置 Alias
具体步骤如下:
2-1 找到配置文件绝对路径
在 PowerShell 控制台中,输入命令「 echo $profile 」获取配置文件的完整路径
PS:如果配置文件目录不存在,就需要根据绝对路径去新建目录及文件
2-2 新增 Alias 别名
打开 Microsoft.PowerShell_profile.ps1 文件,以函数的形式添加 Alias 别名
PS:我们可以通过 Windows PowerShell ISE 工具去编辑别名函数
//单条命令
Function gitci(){
git rev-parse HEAD
}
//多条命令
//依次编写多条命令
Function fe(){
cd C:\Users\xingag\Desktop\fe
dir
explorer .
}
Function open(){
explorer .
}
2-3 重启 PowerShell 并使用
为了使编写的 Alias 生效,我们需要重启 PowerShell 后再使用
2-4 参数化
在定义别名时,我们在别名函数中添加多个参数来实现参数化
# 参数:字符串,打开的文件夹目录
# 使用:feo C:\Users\xingag\Desktop
Function feo([string]$path){
cd C:\Users\xingag\Desktop\fe
explorer "$path"
dir
}