bat批处理闪退

bat描述

我的博客每次更新需要跑多个命令 clean(清除旧文)+g(生成新文)+d(部署到服务器),作为一个懒惰的程序员,自然要写一个bat一键完成

E:
cd blog
hexo clean
hexo g
hexo d

异常描述

当我打开自己写的bat时,执行框一闪而过却没有执行效果

错误排查

  1. 在每一个命令后添加pause

    E:
    pause
    cd blog
    pause
    hexo clean
    pause
    hexo g
    pause
    hexo d
    pause
  2. 执行,找到闪退的地方

    执行hexo clean时闪退

    看来我的问题很可能发生在hexo clean

  3. 查看此语句执行情况

    具体语句具体分析,此处我的hexo clean会清空原来生成的文章,经查看它确实执行了

错误分析

问题发生在hexo clean执行后,pause执行前,很有可能hexo clean会直接结束bat

解决方案

我查询了bat一次执行多条命令的语法

命令1 | 命令2 | 命令3

修改原bat

E:
cd blog
hexo clean | hexo g | hexo d

成功执行

总结

此次问题完全是由于自己对bat批处理语法一知半解导致的,实在是令人羞愧不已,今后做事前一定要做足准备,才能行事从容,处事不惊



异常记录      异常记录 bat Windows

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!