【问题标题】:Graphviz multiple files format conversionGraphviz 多文件格式转换
【发布时间】:2018-07-12 17:53:21
【问题描述】:

我想使用 Graphviz 将几个文件 (>100) 从 .dot 格式(由 Doxygen 生成)转换为 .png 格式。

以下页面仅描述了一个文件的文件转换:

Graphviz: How to go from .dot to a graph?

dot -Tpng input.dot > output.png

现在,我想进行一个大规模的转换过程,这涉及到目录中的大量文件。

大部分文档都是针对 Linux 操作系统的,如下所示:

https://github.com/rakhimov/cppdep/wiki/How-to-view-or-work-with-Graphviz-Dot-files

(例如:

递归地对目录和子目录中的文件运行点:

$ find -type f -name "*.dot" directory_path | xargs dot -Tpdf -O)

但我确实需要在 Windows 操作系统上执行此操作。

我一直在尝试使用以下命令:

forfiles /c "dot -Tpng @file > @fname.png"

但是,在这种情况下,Windows cmd 会显示错误消息:

“没有对“-tpng”的布局引擎支持 使用其中之一:circo dot fdpneato nop nop1 nop2 osage patchwork sfdp twopi"

对于每个文件转换尝试。

如何做到这一点?

感谢您的宝贵时间。

【问题讨论】:

  • 您在 Windows 上使用的是哪个版本的 dot(dot -V ;还尝试定位 dot 可执行文件:where dot)。通常,您使用哪个版本的 doxygen 会将 .dot 文件转换为 Doxyfile 中 DOT_IMAGE_FORMAT 指定的图像格式。运行 doxygen 时会报错吗?
  • 你好,dot -V 给了dot - graphviz version 2.38.0 (20140413.2041)。 Doxygen 1.8.14 工作正常
  • 你试过forfiles /c "dot -Tpng @file -o @fname.png"吗?

标签: batch-processing doxygen graphviz


【解决方案1】:

试试这个,它对我有用:

forfiles /m "*.dot" /c "cmd /c dot -Tpng @file > @fname.png"

或者,如果扩展名为“.gv”

forfiles /m "*.gv" /c "cmd /c dot -Tpng @file > @fname.png"

【讨论】:

  • 为我工作。谢谢:)
猜你喜欢
  • 2011-12-10
  • 2016-02-28
  • 1970-01-01
  • 2020-11-30
  • 2018-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-31
相关资源
最近更新 更多