62

В проводнике Windows есть древовидное представление для просмотра обзора структуры каталогов. Я хочу поделиться структурой с другими людьми.

Как я могу получить древовидное представление структуры каталогов раздела и экспортировать этот список файлов, чтобы другие могли просматривать его без доступа к разделу?

Чтобы уточнить, мне не интересны сами файлы. Мне просто нужен иерархический список всех файлов. Застегнуть их все не то, что я хочу

12 ответов12

82

Предполагая, что ваше дерево каталогов имеет приемлемый размер, вы также можете использовать встроенную команду tree , которая создает довольно симпатичное дерево каталогов. К сожалению, эту красивость трудно заставить работать вне экземпляра cmd, поэтому вы, вероятно, захотите сказать ему, что нужно просто использовать символы ascii с ключом /A

Пример:

Из небольшой многоуровневой структуры

+---A
|   +---A
|   \---B
+---B
|   \---A
|       \---A
\---C

Затем вы можете перенаправить это в файл с помощью команды вроде:

tree /A ["directory path"] > tree.txt

Где путь к каталогу необязателен, но полезен, если вы хотите создать дерево, которое не является текущим рабочим каталогом.

19

Если вы хотите использовать код очень прост, и вывод хороший.

Код:

Get-ChildItem | tree

С

Get-ChildItem | tree > foo.txt

Вы можете передать вывод в текстовый файл.

Пример вывода:

Auflistung der Ordnerpfade für Volume System
Volumeseriennummer : 48E9-F43B
C:.
├───Contacts
├───Desktop
├───Downloads
│   └───Evernote Import
├───Dropbox
│   ├───Apps
│   │   └───iftttcom
│   │       └───getpocketpdf
│   ├───Backup
│   ├───Camera Uploads
│   ├───Development
10

Вы также можете поместить результаты непосредственно в буфер обмена (в Vista+):

tree | clip
9

Хотя в этом случае вам, скорее всего, понадобится вывод команды TREE (например, TREE /F > output.txt), если в качестве выходного текста в качестве выходного текста все в порядке, вы можете запустить из командной строки следующее:

DIR C:\ /S > output.txt

Где output.txt будет сгенерирован в текущем рабочем каталоге и содержит список всех файлов и каталогов на диске C: . Если вы хотите просто вывод файлов с их полными путями, выполните следующее:

DIR C:\ /B /S > output.txt

Также было бы тривиальной задачей написать программу для анализа выходных данных обратно в программу стилей представления каталогов для просмотра.

6

Открыть окно командной строки -> Перейти к вашему каталогу

Затем выполните следующую команду для генерации

tree /f /a > tree.doc

Приведенная выше команда рекурсивно создаст структуру папок и файлов и экспортирует их в текстовый файл документа. Вы можете найти "tree.doc", созданный в той же папке

5

Используйте следующую команду powershell, также помните, что вы можете экспортировать ее в Xml, CSV или в базу данных. Также я ограничил свойства полным именем и именем, вы можете использовать другие свойства, такие как измененная метка времени и т.д.

Get-ChildItem -Recurse 'Z:\temp' *.xml | Select-Object -Property FullName,name | Export-Csv directory_structure.csv
3

Специально для этого я создал программу - Снимок каталогов.
Он рекурсивно выполняет итерацию по каталогу и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается, в аккуратно структурированных файлах HTML, организация которых аналогична организации входного каталога.
Другими словами, это можно рассматривать как гиперссылочную версию команд dir /s или tree /f.

1

Попробуйте этот скрипт powershell, если вы хотите перечислить количество файлов в каждом каталоге из вашего текущего местоположения ...

$dirs = Get-ChildItem -recurse | Where{$_.psIsContainer -eq $true} ; ForEach($d in $dirs){ "{0,6} | {1,-1}" -f (Get-ChildItem -path $d.fullname -recurse | where {$_.psIsContainer -ne $true}).count,$d.fullname >> file_counts.txt }
1

Хотя на этот вопрос уже был дан ответ, я пришел сюда, чтобы найти решение, но не нашел его.

Заглядывая дальше, я нашел это: http://gnuwin32.sourceforge.net/packages/tree.htm

С этим я могу следовать инструкциям http://nsaunders.wordpress.com/2010/11/16/dropbox-tip-continued-convert-a-file-tree-to-html/ и создать дерево HTML моего Общедоступная папка Dropbox и, таким образом, очень легко обмениваться деревом каталогов.

0

Вы можете просто использовать xcopy с параметрами /T и /E для копирования только каталогов. Это даст вам полную и доступную для просмотра копию структуры и ответит на первую часть вашего вопроса. Не позволяет просматривать файлы, хотя ...

0

Вы можете использовать инструмент архивации, такой как WinZIP, который может сжать всю структуру каталогов в один файл, который вы можете, например, перенести в сеть или записать на USB-диск. Некоторые инструменты также сохраняют флаги, такие как только чтение, архив и т.д.

В Linux моим любимым инструментом для таких действий является tar, который объединяет всю структуру каталогов в один файл, который я могу связать с gzip, чтобы фактически сжать все это.

-1

Я нашел самый простой способ - перейти в командную строку и войти (в моем случае мне понадобился каталог K:)

tree K: > tree.doc

Я выбрал документ Word, так как мне нужно было что-то удобное для пользователя. Просто выберите MS-Dos при открытии в Word, и он будет отлично выглядеть.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .