给Windows中的命令添加别名
文章目录
简要记录如何在Windows
操作系统中通过批处理脚本来给复杂的命令添加别名以简化使用。
背景
自己使用Hugo
进行博客开发已经有年头了,最近由于需要搭建新的网站1需要使用特定的模板,而该模板对Hugo
的版本有要求,故对Hugo
版本进行了升级,从v0.100
升级到v0.126
。
升级之后虽然在搭建新网站时没有问题,但个人发现新版本的Hugo
有一个特性让人用起来不太方便:
通过hugo server -w -D
在本地启动Hugo
环境时,默认会在本地public
文件夹下生成全部的静态文件,从而导致通过Git
提交时会提交大量无用的文件,在国内这种网络环境下容易push
失败。
而之前自己使用Hugo
时,若要手工生成静态文件需要在参数中显示指定,类似hugo server --renderToDisk
,升级后的版本将其作为了默认选项。
进一步查看资料,发现该特性是在v0.123
版本中引入的2,具体原因参见3,在该版本之后若想默认不在public
目录下生成静态文件则需要在启动时手工添加相关指令,类似hugo server -w -D --renderToMemory
。
尽管Hugo
作者这么做肯定是有其原因的,但我习惯了只有在托管到GitHub Pages
时才生成静态文件,同时我也是一个懒人,每次使用时都要添加--renderToMemory
参数对我来说简直是一种折磨。
能否仿照Linux
中的alias指令对前述命令进行封装,从而简化使用呢?
分析
我们知道在Windows
的默认附带了很多指令,如mspaint
、mstsc
、calc
等指令,可在运行窗口或cmd
中输入这些指令直接使用,其原因为这些指令都位于C:\Windows\System32
目录下,而该目录是系统目录,在启动时会进行加载。
而对于非Windows
系统自带指令或软件,在我们安装过程中通常会提示我们是否要将该软件添加到Path
环境变量中去,典型的如Python
,当选择添加到Path
环境变量中后,可重新打开一个cmd
窗口,然后输入python
指令进行相关的操作。即我们如果想要在cmd
中能直接使用某个自定义指令,则该指令必须添加到Path
环境变量中去。
在Linux
中有bash
、zsh
等脚本可用于封装复杂的指令,同样在Windows
中可使用batch
脚本来封装复杂的指令,最终问题变为如下:
是否可通过batch
脚本封装复杂的Hugo
指令,并将该脚本添加到Path
环境变量中来实现在cmd
中直接使用封装后的指令?
实现
理论分析完毕后,接下来进行实际操作验证:
-
新建一个名为
hugo_server.bat
的脚本,内容如下@echo off hugo server -w -D --renderToMemory
-
仿照下图,将
hugo_server.bat
的位置添加到Path
环境变量中去 -
重新打开一个
cmd
窗口,输入hugo_server
(batch
脚本的名称),显示结果如下,可看出hugo_server
别名正常工作,目的达到!