Я использую программу командной строки под названием "Точка" для рисования древовидных структур. Для этого создается текстовый файл, определяющий каждый файл или папку как уникальный узел и связи между ними (от родителя к потомку)
точка-это часть инструментария, программ, документация, онлайн на сайте: http://www.graphviz.org/pdf/dotguide.pdf
оно может вывести наружу чертеж как PDF, SVG, PNG, JPG, etc.
вот пример входного файла для программы "Точка" (имя файла "испытание.dot"):
digraph "My File Tree Drawing" {
/* paper size in inches */
size="11.0,8.5";
/* locate label at top of drawing */
labelloc=t;
label="My File Tree Drawing";
/* no directional arrow on connectors */
edge [dir=none];
/* nodes below are boxes (folders) */
node [shape=box];
folder1 [label="Folder 1 Name"];
folder2 [label="Folder 2 Name"];
folder3 [label="Folder 3 Name"];
/* nodes below are ellipses (files) */
node [shape=ellipse];
file1 [label="File 1 Name"];
file2 [label="File 2 Name"];
file3 [label="File 3 Name"];
file4 [label="File 4 Name"];
/* parent -> child, to draw the tree */
folder1 -> folder2;
folder1 -> folder3;
folder1 -> file1;
folder2 -> file2;
folder3 -> file3;
folder3 -> file4;
}
сделать это в PDF-файл, выполните команду:
dot -T pdf test.dot > test.pdf
эта программа делает отличные рисунки деревьев файлов (или любой структуры дерева / графика). Часть, которая требует наибольшей работы, делает ввод *.точечный файл. Обычно я пишу сценарий, чтобы просмотреть дерево файлов и вывести текстовый файл, отформатированный аналогично " test.точка" выше. Убедитесь, что все имена узлов уникальны (даже если имя метки / файла / папки совпадает). Еще одна полезная вещь знать, каждая строка в *.файл точка может прийти практически в любом порядке - если есть дубликаты, последний будет перекрывать предыдущие.
дополнительная "точка" документация доступна на http://www.graphviz.org/Documentation.php