• Window添加命令别名的方法


    前言

    下面将介绍3种方法:

    • CMD添加别名的方法
    • PowerShell添加别名的方法
    • 通过添加环境变量的方式设置别名

    CMD添加别名的方法

    设置临时的别名

    可以通过doskey命令实现。

    doskey ls=echo ====== ^&^& dir /b $* ^&^& echo ======
    
    • 1

    $*表示还可能有其他命令参数,^&^&用于分开多条命令。

    单纯在一个cmd窗口中使用doskey设置别名,别名只能在该窗口中使用。

    设置永久的别名

    可以通过将doskey命令写入bat脚本,再把脚本路径添加到注册表Autorun实现永久且所有cmd都可用的别名,具体步骤如下:

    1. 编写脚本:
    @echo off
    doskey ls=dir /b $*
    doskey lss=echo ====== ^&^& dir /b $* ^&^& echo ======
    
    • 1
    • 2
    • 3
    1. 添加路径到注册表

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor下的Autorun中,将数值设为doskey命令脚本所在的路径即可。这样所有用户都可以使用设置好的别名。

    也可在HKEY_CURRENT_USER下的对应位置设置,只针对当前用户设置别名。

    优缺点

    通过doskey的方式,挺方便的,但是在命令非常多的情况下不是很方便,同时,设置的命令还不可以在powershell下运行。

    PowerShell添加别名的方法

    为PowerShell设置临时的别名

    PS C:\Users\akyna> set-alias escc esc
    PS C:\Users\akyna> escc
    ......
    
    • 1
    • 2
    • 3

    如果带参数,则可以通过function进行:

    PS C:\Users\akyna> function func{nircmd emptybin}
    PS C:\Users\akyna> set-alias ctrash func
    PS C:\Users\akyna> ctrash
    
    • 1
    • 2
    • 3

    这样的别名只是在当前会话下有效,开启另一个shell就失效了。

    可以通过export-alias my-alias.txt导出当前会话下的alias,在其他shell中,通过import-alias my-alias.txt即可使用。

    删除PwerShell临时别名

    PS C:\Users\akyna> remove-item alias:escc
    PS C:\Users\akyna> escc
    escc: The term 'escc' is not recognized as a name of a cmdlet, function, script file, or executable program.
    ...
    
    • 1
    • 2
    • 3
    • 4

    为PowerShell设置永久的命令别名

    1. 打开 PowerShell ,运行 echo $profile,会输出一个powershell配置文件的路径。
    2. 打开文件,按以下格式可以设置多条别名:
    function 别名 { 需要替代的命令,可以包含空格 }
    
    • 1

    e.g.

    一个升级vscode的命令:

    # 升级vscode
    function updatevs {
        taskkill /f /t /im code.exe
        move D:\a\VSCode* D:\a\vs.zip
        Bandizip.exe x -o:"D:\tools3\vscode\Microsoft VS Code" -aoa "D:\a\vs.zip"
        del D:\a\vs.zip
        code
        pause
    }
    #其他别名
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    以后,新的别名都可以继续添加在该文件中,非常方便。

    1. 将ExecutionPolicy设为RemoteSigned。

      • 以管理员身份打开 PowerShell,执行 Set-ExecutionPolicy RemoteSigned
      • 重新启动 PowerShell ,完成。

    优缺点

    对于命令非常多的情况很方便,但是无法在cmd下运行别名。

    下面介绍一种同时适用于powershell和cmd的方式。

    通过添加环境变量的方式设置别名

    操作方法

    假如我想通过exesc这个命令运行一些操作命令:

    • 在路径my_path下新建exesc.bat文件,该文件包含了一系列操作命令;
    • 将my_path加入环境变量;
    • 命令行即可通过键入exesc命令执行exesc.bat。

    以后添加任何命令都可以在这个路径中新建bat文件编写别名,非常方便。

    这样在powershell和cmd中都可以使用通过这个方法设置好的别名,但是注意,前提是这个脚本中的命令同时适用于powershell和cmd,比如,如果该脚本中存在一个ls命令,但是cmd没有这个命令,那么cmd就无法使用该别名,但是你可以先通过上面介绍的doskey方法设置好ls别名,这样就可以愉快使用了。

    优缺点

    个人感觉是很不错的方法,但是一个别名对应一个文件,不是很方便,无法在一个文件中同时指定所有别名。

    如果想实现通用性,必须兼顾cmd和powershell都存在的命令。如果想使用powershell很多特有的命令,那么实现通用性是比较麻烦的。

    总结

    如果你只使用powershell,那么只使用上面第二种方法就好了,这是最舒服的方法。

    如果你只是用cmd,那么就考虑用powershell吧,它可比cmd强大多啦,内置了许多linux命令别名以及一些强大的命令。如果实在不想换,那就用第一种老方法。

    第三种方法,可以视情况而定使用。


    From My Blog: akynazh

    over.

  • 相关阅读:
    C++指针危险的原因
    stable diffusion十七种controlnet详细使用方法总结
    抵押贷款巨头 Mr. Cooper 遭受网络攻击,影响 IT 系统
    【Python】【Pyinstaller】打包过程问题记录及解决
    LINUX
    base相关密码特征
    基于Yolov8的工业小目标缺陷检测(7):Wasserstein Distance Loss,助力工业缺陷检测
    无胁科技-TVD每日漏洞情报-2022-11-28
    运维团队如何加强安全设备监控与日志管理
    无线信号测试软件哪种好用
  • 原文地址:https://blog.csdn.net/akyna/article/details/125461433