V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
black11black
V2EX  ›  问与答

windows 环境变量有办法配置类似 Linux 的 alias 那种命令替换功能吗?

  •  
  •   black11black · 2020-03-04 14:29:50 +08:00 · 1372 次点击
    这是一个创建于 1759 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,简单搜了一下没啥有效信息,不知道关键词是啥。

    我想实现比如 Python 通过 pip 安装我的包之后能自动绑定一个命令,类似于pip install pytest 之后 cmd 里运行pytest 就可以直接执行程序。大概看了一下,pytest、grako、nuitka 之类的这些 star 比较高的项目实现的方式都是编译一个二进制文件,然后放到环境目录里,实现直接运行。

    windows 有办法像 linux 的 alias 那样定义一个命令吗,比如 alias pytest = 'python -c "import sys"' 这种的,我不就不用编译了?

    主要是如果要编译二进制的话似乎要为不同系统都编译一份,本 cicd 菜鸡感觉要实现的话似乎挺麻烦的一件事

    9 条回复    2020-03-04 16:24:41 +08:00
    xiri
        1
    xiri  
       2020-03-04 14:37:43 +08:00
    写一个 bat 脚本丢到 path 环境命令的目录下就行了
    xiri
        2
    xiri  
       2020-03-04 14:38:05 +08:00
    @xiri 环境命令-->环境变量
    ysc3839
        4
    ysc3839  
       2020-03-04 15:41:35 +08:00 via Android
    装上 bash 等 shell 就有。个人不建议使用 cmd,虽然很简单,但相比 Unix shell 缺太多必要的功能了,用起来不爽。
    rayhy
        5
    rayhy  
       2020-03-04 15:49:18 +08:00
    imn1
        6
    imn1  
       2020-03-04 15:59:57 +08:00   ❤️ 1
    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
    "AutoRun"="c:\\PathTo\\alias.cmd"

    ------------------------------
    @echo off
    chcp 65001
    DOSKEY damn=py c:\path\damn_it.py $*
    DOSKEY fxxk=py c:\path\fuck.py $*
    ……
    imn1
        7
    imn1  
       2020-03-04 16:02:41 +08:00
    另外
    PROMPT 命令可以改提示符,想如何美化就自行搜索相关参数
    black11black
        8
    black11black  
    OP
       2020-03-04 16:24:07 +08:00
    @imn1

    感谢
    black11black
        9
    black11black  
    OP
       2020-03-04 16:24:41 +08:00
    @ysc3839

    这个是考虑用户端的问题,希望用户运行简单一些
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5546 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 06:39 · PVG 14:39 · LAX 22:39 · JFK 01:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.