设置CMD和PowerShell中的Alias

参考微软官方文档, 使用DOSKEY命令设置别名:

1
DOSKEY ls=dir /p $*
注意
  1. $*的作用是替换参数, 比如ls 1.txt等效于dir /p 1.txt
  2. 多条命令用$t连接, 另外$t的前后不需要有空格, 可以直接连接两条命令: command1$tcommand2。
  3. 在当前窗口设置的别名只在当前窗口有效。

参考这里, 将自定义的DOSKEY命令写入cmd_init.cmd文件中, 比如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
@echo off

:: Aliases
DOSKEY cat=type $*
DOSKEY cd=cd /d $*
DOSKEY clear=cls
DOSKEY cp=xcopy /h /k $*
DOSKEY dns=ipconfig /flushdns
DOSKEY ls=dir /p $*
DOSKEY mv=move $*
DOSKEY proxy-on=set http_proxy=http://127.0.0.1:7890$tset https_proxy=http://127.0.0.1:7890
DOSKEY proxy-off=set http_proxy=$tset https_proxy=

参考微软官方文档, 使用Set-Alias命令设置新的别名或修改已有别名:

1
Set-Alias -Name 别名 -Value 原命令

比如:

1
Set-Alias -Name aria2c -Value "aria2c -c -s16 -x16 -k1M"

也可以直接使用Set-Alias的别名sal

使用Get-Alias命令查看所有别名, 也可以直接使用Get-Alias的别名gal

参考微软官方文档, 使用New-Alias命令设置新的别名, 如果别名已存在会提示重复:

1
New-Alias -Name 别名 -Value 原命令

也可以直接使用Newt-Alias的别名nal

注意
在当前窗口设置的别名只在当前窗口有效。

不推荐使用Export-AliasImport-Alias, 太不方便了, 直接参考这里, 将 Set-Alias -Name aria2c -Value “aria2c -c -s16 -x16 -k1M” 命令写入 PROFILE 文件中, 不能将这种长命令当作别名, 不然终端会报错。应该在PROFILE文件中自定义function:

1
function aria2c { & 'aria2c.exe' -c -s16 -x16 -k1M @args }