# oh-my-cmd **Repository Path**: ProAyeR/oh-my-cmd ## Basic Information - **Project Name**: oh-my-cmd - **Description**: 适用于cmd的oh-my-posh的拙劣复制 - **Primary Language**: Shell - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2022-09-25 - **Last Updated**: 2024-02-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: cmd, color, shell, Nerd-Font, bat ## README # oh-my-cmd #### 介绍 适用于cmd的oh-my-posh的拙劣复制 #### 说明 默认风格是受到了[🔗oh-my-posh](https://ohmyposh.dev/)中[🔗jandedobbeleer](https://ohmyposh.dev/docs/themes#jandedobbeleer)风格的影响 而cmdscreenfetch的输出是受到了Linux中screenfetch包的影响 oh-my-cmd 是支持部分配置的,但能够配置的内容十分有限,由于cmd本身的低效性能,不能够支持深度配置 你都看到这了不如给我点个⭐呗 #### 预览图 ![](/Readme_png/Campbell.png) ![](/Readme_png/demo.png) #### 安装 ###### 🧑‍💻下载代码 1. 准备Windows操作系统,操作系统需要是Windows7以上版本才能正常运行`oh-my-cmd` 2. 下载源码,将其解压到任意路径,并记住这个路径 3. 将这个路径设置为`$PATH`中的路径,以保证在任意处的批处理能够调用`oh-my-cmd` 4. 将这个路径下的Packages也设置为`$PATH`中的路径,以保证所有的包是可用的 ###### 💾下载Windows Terminal 1. 可以在[🔗Microsoft Store](ms-windows-store://pdp/?ProductId=9n0dx20hk701)中获取[🔗Windows Terminal](https://www.microsoft.com/store/apps/9n0dx20hk701)的最新版的应用 2. 或者您可以在Microsoft的[🔗github页面](https://github.com/microsoft/terminal/releases/latest)获取最新的[🔗Windows Terminal](https://www.microsoft.com/store/apps/9n0dx20hk701) ###### 🎨下载字体 1. 在[🔗NerdFont官网](https://www.nerdfonts.com/font-downloads)下载一个你喜欢的字体 2. 在Windows资源管理器中双击任何一个你下载的字体,点击安装字体 ###### 📝编写Windows Terminal配置文件以支持默认启动oh-my-cmd UI: 1. 添加新配置文件 2. 将配置文件命令行设置为`oh-my-cmd`所在全路径以及oh-my-cmd本身,比如`"C:\Users\lenovo\oh-my-cmd.cmd"` 3. 在启动选择卡中将默认配置文件设置为您添加的新配置文件 4. *您可以将图标设置为仓库中提供的`icon.ico` Json: ```json //在list中加入新的配置文件 "list": [ { "colorScheme": "One Half Dark", "commandline": "C:\\Users\\lenovo\\oh-my-cmd.cmd", "guid": "{7c12ded3-ec3a-496f-9db6-e31a89ccc8dd}", "hidden": false, "icon": "C:\\Users\\lenovo\\Readme_png\\icon.ico", "name": "oh-my-cmd", "startingDirectory": "%USERPROFILE%" }, ] //将默认配置文件设置为新的配置文件的guid "defaultProfile": "{7c12ded3-ec3a-496f-9db6-e31a89ccc8dd}", ``` ###### 🔧在Windows Terminal中设置Nerd Font并测试代码是否可用 UI: 1. 配置中将默认值的字体设置为您之前下载的其中一个Nerd Font 2. 设置好后创建一个新的Terminal选项卡,查看您设置的默认启动oh-my-cmd设置是否设置正确 3. 检查是否出现字体错误,如果没有,那么您的窗口将会显示如下画面 ![](/Readme_png/Init.png) Json: ```json //在defaults中加入font选项 "defaults": { "font": { "face": "CascadiaCode Nerd Font", "size": 12 }, }, ``` ###### ✅最后准备达到和图示的完全效果 如果您正确地将目录下Packages也设置为`$PATH`中的路径,那么直接输入`cmdscreenfetch`就可以看见该指令输出了您系统的相关信息以及图标 ![](/Readme_png/OneHalfDark.png) #### 🥗oh-my-cmd特殊支持功能介绍与演示 ###### 基础cmd命令输入功能 ![](/Readme_png/demo.png) oh-my-cmd目前支持基础的cmd命令输入,目前处于早期开发阶段,还不支持复杂命令的输入与执行 - [x] 支持显示用户 - [x] 支持显示当前目录 - [x] 支持显示命令执行时间 - [x] 支持显示命令执行是否成功(errorlevel实现) - [x] 支持显示当前时间 - [x] 支持显示git分支 - [ ] WIP:支持git状态显示 - [ ] WIP:支持CPU状态显示 - [ ] WIP:支持完全的命令行命令输入与执行 所以在执行某些复杂命令时可能出错,可能出错的原因与空格' ',参数(/或-)或特殊字符(需要使用"^"转义的字符)有关 ###### cmdScreenfetch输出系统信息 ![](/Readme_png/cmdscreenfetch.gif) 支持类似Linux系统下screenfetch类似的输出系统信息以及图标的命令,多半是使用wmic以及系统自带的命令来获取信息的,还能够计算磁盘剩余量等信息 ###### git分支显示 ![](/Readme_png/git.gif) 使用git branch命令来获取当前目录是否处于一个git项目中,如果不处于git项目中,使用磁盘图标💽与Local标识这是一个本地目录 ###### git修改数显示 TODO: ###### 命令执行状态(errorlevel)显示 TODO: ###### 电脑CPU使用状态显示 TODO: ###### 动态工作路径显示 TODO: ###### oh-my-cmd 在VSCode上 ![](/Readme_png/vscode.gif) 在正确安装字体的情况下,vscode上也能够正常显示oh-my-cmd中的全部内容 ###### desktop命令功能支持快速命令 ![](/Readme_png/desktop.gif) 允许oh-my-cmd进入desktop(dsk)模式,从而将命令行的输入作为参数传给desktop.cmd从而实现桌面快捷命令 desktop.cmd同样由我开发,能够将用户输入的命令行与一段连续的字符串联系起来,从而实现快捷命令(灵感来自于[🔗PowerToys Run](https://learn.microsoft.com/zh-cn/windows/powertoys/run)或者[🔗uTools](https://u.tools/)),只要你会编写命令行就可以实现任何快捷命令 desktop.cmd将用户的快捷命令存储在同目录下desktop.exec.cmd文件中 ###### omc settings设置输出风格 ![](/Readme_png/settings.gif) oh-my-cmd将用户的设置(目前只有风格设置)保存在运行目录下oh-my-cmd.settings.cmd文件中 ###### ver重写 ![](/Readme_png/ver.gif) 我就是想单纯的重写ver命令 ###### cmdSleep & cmdDelay ![](Readme_png/sd.gif) 我就是想单纯的把ping命令打包起来 不过打包起来后能够更加精确的延时了 #### 🧟‍♂️我是旧时代的残党,痴迷于cmd而不愿前进,虽然其漏洞百出,我仍然将其美化为我想的样子