要么改变世界,要么适应世界

如何编写部署新文章命令脚本

2020-03-04 12:00:00
125
目录

前言

一般而言,写好的Markdown文章应该放到博客目录的source_posts文件夹下,然后使用命令hexo g -d或者是hexo d -g进行部署。我在使用hexo的时候,我的hexo所有文件还关联着码云上的仓库,我习惯于发表新文章后把hexo的所有文件都更新到码云远端仓库。按以前那种方式,我首先需要在博客目录中用命令部署最新的文章,然后再使用git add .等命令将本地所有文件推送到远端。老实说,我承认自己是个懒人,所以就想到了用批处理文件bat实现我的懒人梦,在那之前我们先了解一下bat。

bat的简单介绍

.bat文件有点类似于linux系统下的shell脚本文件.sh, 下面是bat的简单用法,更多关于bat脚本的详细介绍可以查看这里

语法 解释
echo 表示打印该命令后的字符,如echo hello执行后会打印“hello”
echo off 表示在此语句后所有运行的命令都不显示命令本身 ,但本身会显示
@ 与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)
@echo off 组合上两个语法,表示不显示后续执行命令及当前命令
dir c:. >a.txt 将c盘文件列表写入a.txt
call 用于调用另一个批处理命令或文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)
call c:\ucdos\ucdos.bat 调用ucdos.bat脚本
pause 暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
rem 用于注释,也可以用 ::代替
start 调起另外一个窗口执行当前行命令

编写部署脚本

D:
cd D:\private\blog
call hexo clean
call hexo g
call hexo d&&cd ..&&git add .&&git commit -m %1&&git push&&cd blog

将上述命令保存为xxx.bat

关于call的用法上面表格有说明,这里还有几个“&&”,这个操作符是当“&&”前面的运行成功后后面的才运行,而“%1”是指向bat文件中传递参数中的第一个(第0个是命令本身),更多的bat传递参数方法可以参照这篇文章,然后就可以在.bat文件所在的文件夹中打开cmd窗口或者shell(鼠标右键+shift)窗口,键入

xxx "提交备注"

就可以实现一键部署新文章且更新远程代码仓库啦!当然了如果脚本中不需要传递参数,则只需双击xxx.bat打开就可以了。

历史评论
开始评论