写在前面
熟悉Hexo的朋友都知道,撰写的Markdown文章应当放置在Hexo安装目录的
文件夹中,然后使用命令或进行部署。我在使用Hexo时,目录实际上是关联到我的一个远程Github仓库的。我习惯使用小书匠这款编辑器来编写MD文章(主要是因为它可以关联多个平台的图床服务),写完后可以直接保存到这个远程仓库中。按照之前的方式,我首先需要在目录中最新的文章,然后再使用命令来部署。坦白说,我承认自己是个懒人,以前也尝试过用Travis CI来解决Hexo的自动化部署问题,但总是在某个步骤卡住,现在也就搁置了。如果以后成功解决,我会再写一篇文章。今天的主题是使用bat脚本来部署文章,在那之前,我们先了解一下bat脚本。
关于bat
bat是Windows平台下的一种脚本语言,类似于Linux平台下的shell。下面只是举几个简单的例子,点到为止就好,更多关于bat脚本的语法可以查看这里。
语法 | 解释 |
---|---|
echo | 表示打印该命令后的字符,如@@######@@执行后会打印“hello” |
echo off | 表示在此语句后所有运行的命令都不显示命令本身,但本身会显示 |
@ | 与@@######@@类似,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行) |
@echo off | 组合上两个语法,表示不显示后续执行命令及当前命令 |
dir c:*.* >a.txt | 将c盘文件列表写入a.txt |
call | 用于调用另一个批处理命令或文件(如果不用@@######@@而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令) |
call c:\ucdos\ucdos.bat | 调用ucdos.bat脚本 |
pause | 暂停批处理的执行并在屏幕上显示Press any key to continue…的提示,等待用户按任意键后继续 |
rem | 用于注释,也可以用 @@######@@代替 |
start | 调起另外一个窗口执行当前行命令 |
实战部署
下面贴出的这段代码,也是我用来部署Hexo文章的bat脚本(在Hexo安装目录下新建
,拷贝代码,每次双击运行即可),用Sublime查看会比较清晰一点。
hexo-deploy.bat
写在最后
好的工具都是为了提高效率而生的,后续本人可能需要维护多个平台的文章发布,因此计划使用Python编写一些自动化发布文章的脚本,然后再结合bat脚本进行调用,感兴趣的小伙伴欢迎继续关注!
参考文章