CMD批处理实现dot命令自动运行更新

CMD批处理实现dot命令自动运行更新


前言

最近学习dot语言
我们知道, 运行dott脚本大致有两种方法:

  1. 使用Gvedit编辑dot代码并直接点击运行按钮运行
  2. 使用记事本编辑工具编辑号dott脚本后, 使用CMD, 进入代码路径下,执行代码
    dot -Tpdf xxx.dot -o -xxx.pdf
    dot -Tpng xxx.dot -o -xxx.png
    dot -Tjpg xxx.dot -o -xxx.jpg
    …等等, 分别生成想要的pdf、png、jpg或其他格式 的文件
  3. 使用Sublime Text3(我主页有下载教程和汉化教程)编辑器编辑dott脚本, 然后将F7/Cmd-B映射dot引擎(该文章介绍了如何映射),该方法使用快捷键WIn+Shift+g/G即可瞬间生成结果,速度较前两个快,不过目前只能生成pdf, 想生成其他格式本人还未研究出来。

但是, 如果我们是学习阶段, 由于要熟悉各种属性的不同, 所以需要一直更改参数去观察各种参数画出来的效果,由此免不了需要一直手动点击运行或者键入cmd指令或者老按快捷键WIn+Shift+g/G(这可是三个手指头), 很是麻烦, 所以查询了一下CMD的语句循环, 发现可以搞, 最终给出个比较舒服的方法。


一. 编写bat脚本

为了方便, 直接桌面新建一个记事本:a.text

  1. 编辑基本代码
    代码如下(示例):
@echo off
for /l %%a in (1,1,100) do (pushd "%~dp0" &timeout /t 2 /nobreak &dot -Tpng demo.dot -o demo.png)
pause
  1. 保存退出, 将后缀改为.bat
  2. 鼠标右键该文件a.bat打开,即开始运行

二. 解释

1. for /l %%a in (1,1,100) :这个相信一看就懂, 其中(1,1,100)代表的是(起点,步长,终点), 即从1开始每次加1直到100。
2. do (pushd "%~dp0" &timeout /t 2 /nobreak &dot -Tpng demo.dot -o demo.png)do后面的括号是循环体,其中包含三句命令:pushd "%~dp0"timeout /t 2 /nobreakdot -Tpng demo.dot -o demo.png,指令之间使用$连接区分开来、
3. pushd "%~dp0"就是设定批处理bat所在的目录为工作目录
4. timeout /t 2 /nobreaktimeout命令(改文章介绍了该指令使用)
5. 由上可以看出, 如果我们想长时间学习dot脚本,可以把循环调多:for /l %%a in (1,1,1000)。如果我们想设置刷新时间, 可以更改timeout的值,例如:timeout /t 5 /nobreak


总结

这样以来, 我们只需要在学习dot脚本前打开a.bat, 然后我们就可以尽情更改我们的代码,只要保存,生成的图文件会自动更新,我们可以方便的看到效果。

上一篇:php/nginx/axios: 文件上传: 配置最长执行时间等相关项 (php8.1.1 / nginx 1.18.0 / vue@3.2.26 )


下一篇:互联网安全架构-纯手互联网API接口幂等框架