Я использую программу командной строки под названием "точка" для рисования древовидных структур. Для этого вы создаете текстовый файл, определяющий каждый файл или папку как уникальный узел и связи между ними (от родителя к потомку)
Dot является частью набора инструментов Graphviz, документация находится в Интернете по адресу: http://www.graphviz.org/pdf/dotguide.pdf
Он может выводить чертеж в формате PDF, SVG, PNG, JPG и т.д.
Вот пример входного файла для программы "точка" (имя файла «test.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
Эта программа делает отличные рисунки файловых деревьев (или любой древовидной / графической структуры). Часть, которая требует больше всего работы - создание входного файла * .dot. Я обычно пишу скрипт для просмотра дерева файлов и вывода текстового файла в формате, похожем на «test.dot» выше. Убедитесь, что ВСЕ ИМЕНА УЗЛА УНИКАЛЬНЫ (даже если имя метки / файла / папки совпадает). Еще одна полезная вещь: каждая строка в файле * .dot может располагаться практически в любом порядке - если есть дубликаты, последняя переопределяет предыдущие.
Дополнительная "точечная" документация доступна по адресу http://www.graphviz.org/Documentation.php