一个用于 Windows 的“自定义命令管理器”原型:在 UI 里配置命令与对应操作,然后一键同步到系统,确保在 PowerShell / CMD 中都能直接使用。
- 命令 → 操作(Action)模型:
exec/open/shellScript/sequence - 一键同步到系统:
- 写入
runner.ps1 - 生成每个命令对应的
.cmdwrapper(CMD/PowerShell 都可调用) - 把 bin 目录加入 用户级 PATH
- 写入
- 内置占位符(用于把命令行参数映射到 action 参数):
{{1}}、{{args}}、{{cwd}}、{{env.NAME}} - 简单的中/英文 UI(可扩展更多语言)
npm install
npm start- 点击“新建”,填写:
- 命令名(例如
gco) - 操作类型(例如
运行程序) - 程序与参数(例如
git+checkout+{{1}})
- 命令名(例如
- 点击“保存”
- 点击“同步到系统”
- 重新打开一个终端(新的 PowerShell/CMD 才会读取更新后的 PATH)
- 直接执行:
gco main
同步后会写到:
- 数据目录:
%LOCALAPPDATA%\\CmdMan\\ - 配置文件:
%LOCALAPPDATA%\\CmdMan\\commands.json - runner:
%LOCALAPPDATA%\\CmdMan\\runner.ps1 - wrapper 目录:
%LOCALAPPDATA%\\CmdMan\\bin\\*.cmd
示例:
{
"type": "exec",
"program": "git",
"args": ["checkout", "{{1}}"],
"cwd": "{{cwd}}",
"env": {
"FOO": "bar"
}
}{ "type": "open", "target": "https://example.com" }{ "type": "shellScript", "shell": "powershell", "script": "Write-Host {{1}}" }{
"type": "sequence",
"steps": [
{ "type": "exec", "program": "git", "args": ["pull"] },
{ "type": "exec", "program": "npm", "args": ["run", "dev"] }
]
}{{1}}/{{2}}:第 1 / 2 个参数{{args}}:所有参数拼成的字符串(在 args 列表中若“整项”写成{{args}}会展开为多个参数){{cwd}}:执行该命令时的当前目录{{env.NAME}}:读取环境变量
- 目前“同步到系统”仅实现了 Windows(通过
.cmd+runner.ps1+ 用户 PATH) sequence的编辑 UI 目前为 JSON(更友好的一步步编辑器可以后续再做)