Windows 的 cmd 里如何定义 alias?

在 cmd.exe(不是 PowerShell) 里,没有真正意义上的 alias ,但可以用 doskey 宏 来实现**"像 alias 一样"的效果**。下面按能不能长期用给你讲清楚。


✅ 一、临时 alias(当前 cmd 窗口有效)

基本语法

cmd 复制代码
doskey 别名=真实命令

例子

cmd 复制代码
doskey ll=dir
doskey gs=git status

之后在当前这个 cmd 窗口里:

cmd 复制代码
ll
gs

⚠️ 关闭这个 cmd 窗口就没了(这是 doskey 的硬限制)。


✅ 二、支持参数的"alias"

doskey 是支持参数的(这一点比 PowerShell alias 还强一点):

cmd 复制代码
doskey gco=git checkout $*

使用:

cmd 复制代码
gco main

✅ 三、永久 alias(cmd 里最常用、最靠谱)

cmd 没有 profile,但有一个等价机制 :

👉 AutoRun 注册表

1️⃣ 写一个宏文件(推荐)

比如建一个文件:

text 复制代码
C:\Users\xxx\cmd-aliases.cmd

内容:

cmd 复制代码
@echo off
doskey ll=dir
doskey gs=git status
doskey gco=git checkout $*
doskey saas=cd Q:\src\Saas

2️⃣ 配置 cmd 启动自动加载(一次性)

执行下面命令(只对你当前用户生效):

cmd 复制代码
reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_EXPAND_SZ /d "C:\Users\xxx\cmd-aliases.cmd" /f

✅ 之后 每次新开 cmd.exe,这些 alias 都会自动生效。


✅ 四、验证是否生效

新开一个 cmd,直接敲:

cmd 复制代码
ll

如果能用,说明配置成功。


❌ 五、cmd alias 的硬限制(一定要知道)

限制 说明
❌ 只对 cmd 有效 PowerShell / bash / git-bash 都用不了
❌ 不是函数 不能写复杂逻辑
❌ 不能管环境 不能像 PowerShell 那样玩对象
✅ 适合短命令 dir / git / build / run 非常合适

✅ 六、什么时候该用 cmd alias?

✅ 适合

  • 老工程 / 内部工具只支持 cmd
  • quickbuild / build.cmd / 旧脚本
  • Windows 原生环境、DevBox 里被强制 cmd

❌ 不适合

  • 复杂逻辑
  • 长期维护
  • 跨平台

👉 这些场景 PowerShell function / profile 明显更好


✅ 一句话总结

cmd 里没有真正 alias,用 doskey;临时直接敲,永久靠 AutoRun 注册表。

相关推荐
shada1 小时前
CMake指定 MSVC 工具集与 Windows SDK
c++·windows
the3clipse1 小时前
Windows 10 与 Windows 11 视频编解码区别:AV1、HEVC、HDR 与 D3D12 编码支持对比
windows·h.265·hevc·hdr·av1·视频解码·d3d12
郭庆汝1 小时前
(三)MCP+A2A 从0到1构建类Manus多Agent全栈应用
windows
the3clipse2 小时前
MacOS、Linux 与 Windows 视频编解码对比:AV1、HEVC、ProRes 与硬件加速优劣势
linux·windows·macos·hevc·av1·视频解码·硬件解码
明王明王2 小时前
PVE 上用 SPICE:统一连接 Debian、Arch 和 Windows 11 桌面
运维·windows·debian
学逆向的3 小时前
win32消息类型
windows·网络安全·mfc·api·win32
TeamDev3 小时前
JxBrowser 9.5.2 版本发布啦!
java·前端·windows·chromium·混合应用·jxbrowser·浏览器控件
段一凡-华北理工大学13 小时前
大模型应用开发 100 天:Python + LLM 从入门到精通 day26~Prompt 调试与优化——A/B 测试与效果评估
windows·python·大模型·prompt·智能体·提示词工程·高炉智能化
fox_charon15 小时前
Windows 下 CLI 参数的引号陷阱:为什么 --resume 'uuid' 会失败
windows·shell·cmd·cli·引号
染指111016 小时前
128.Agent-LangChain核心组件-中间件-调用模型的时候
人工智能·windows·中间件·langchain·agent