Wie kann ich eine Verzeichnisstruktur in Windows exportieren?

65

In Windows Explorer gibt es eine Baumansicht, um die Übersicht über eine Verzeichnisstruktur anzuzeigen. Ich möchte die Struktur mit anderen Menschen teilen.

Wie kann ich eine durchsuchbare Baumansicht der Verzeichnisstruktur einer Partition erhalten und diese Dateiliste exportieren, damit andere sie ohne Zugriff auf die Partition anzeigen können?

Zur Verdeutlichung interessieren mich die Akten selbst nicht. Ich brauche nur eine hierarchische Auflistung aller Dateien. Sie alle zu zippen ist nicht das, was ich will.

Björn Pollex
quelle
1
Dies kann helfen: So
drucken Sie
Wenn Sie möchten, kann ich ein AutoIt- Skript schreiben , um die Verzeichnisliste in einem beliebigen Stil in Klartext zu exportieren. Sie könnten dann ein Programm schreiben, um es wieder in einen Stil wie eine Verzeichnisansicht umzuwandeln.
Durchbruch
Verwandte Frage bei Stack Overflow.
Trejder

Antworten:

85

Angenommen, Ihr Verzeichnisbaum hat eine vernünftige Größe, können Sie auch den eingebauten treeBefehl verwenden, der einen recht hübsch aussehenden Verzeichnisbaum erzeugt. Leider ist es schwierig, diese hübsche Funktion außerhalb einer cmd-Instanz zum Laufen zu bringen. Daher sollten Sie wahrscheinlich festlegen, dass nur ASCII-Zeichen mit dem /ASchalter verwendet werden sollen.

Beispiel:

Aus einer kleinen mehrstufigen Struktur

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

Sie können dies dann mit einem Befehl wie dem folgenden in eine Datei umleiten:

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

Wobei der Verzeichnispfad optional ist, aber nützlich, wenn Sie etwas strukturieren möchten, das nicht das aktuelle Arbeitsverzeichnis ist.

Phoshi
quelle
2
Sie können diese Ausgabe auch in eine Textdatei umleiten, indem Sie tree E: \A \F > output.txt
Folgendes
@xan; Hoppla, das war das Wichtigste in der Antwort und ich habe es komplett vergessen! Vielen Dank
Phoshi
@xan nur zu Ihrer Information, Sie müssen Forward-Slashes ( /) anstelle von Backslashes für Befehlszeilenargument- IDs verwenden . Backslashes sind Verzeichnisbaumtrennzeichen in Windows-Systemen.
Durchbruch
3
@Breakthrough: Whoops - ja, tree E: /A /F > output.txt- habe meine Schrägstriche falsch geschrieben!
xan
6
Sie können auch die Dateinamen unter dem übergeordneten Ordner in der Baumstruktur anzeigen, indem Sie die folgende /fOption hinzufügen :tree /A /f ["directory path"] > tree.txt
Ulysses Alves,
19

Wenn Sie verwenden der Code sehr einfach und die Ausgabe ist nett.

Code:

Get-ChildItem | tree

Mit

Get-ChildItem | tree > foo.txt

Sie können die Ausgabe an eine Textdatei weiterleiten.

Beispielausgabe:

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

Sie können die Ergebnisse auch direkt in die Zwischenablage kopieren (unter Vista +):

tree | clip
Chris Smith
quelle
9

In diesem Fall möchten Sie höchstwahrscheinlich die Ausgabe des TREEBefehls (z. B. TREE /F > output.txt). Wenn der Rohtext als Ausgabe in Ordnung ist, können Sie an einer Eingabeaufforderung Folgendes ausführen:

DIR C:\ /S > output.txt

Dabei wird output.txt im aktuellen Arbeitsverzeichnis generiert und enthält eine Liste aller Dateien und Verzeichnisse auf dem C:Laufwerk. Wenn Sie nur eine Ausgabe von Dateien mit ihren vollständigen Pfaden wünschen , führen Sie Folgendes aus:

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

Es wäre auch eine triviale Aufgabe, ein Programm zu schreiben, um die Ausgabe wieder in ein Programm im Verzeichnisansichtsstil zu analysieren, das Sie anzeigen können.

Durchbruch
quelle
7

Öffnen Sie das Eingabeaufforderungsfenster -> Wechseln Sie zu Ihrem Verzeichnispfad

Führen Sie dann den folgenden Befehl zum Generieren aus

tree /f /a > tree.doc

Mit dem obigen Befehl werden Ordner und Dateien rekursiv strukturiert und in eine Word-Dokumentdatei exportiert. Sie finden "tree.doc" im selben Ordner erstellt

Vivek Chaturvedi
quelle
5

Verwenden Sie den folgenden Powershell-Befehl. Denken Sie auch daran, dass Sie ihn in XML, CSV oder in eine Datenbank exportieren können. Auch ich habe Eigenschaften auf vollständigen Namen und Namen beschränkt, Sie können andere Eigenschaften wie geänderten Zeitstempel usw. verwenden.

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

Ich habe speziell dafür ein Programm erstellt - Directory Snapshot .
Es durchläuft ein Verzeichnis rekursiv und speichert die Namen und Größen aller gefundenen Dateien und Ordner in übersichtlichen HTML-Dateien, deren Organisation der des Eingabeverzeichnisses ähnelt.
Mit anderen Worten kann dies als eine mit Hyperlinks versehene Version des Befehls dir /soder angesehen tree /fwerden.

Anmol Singh Jaggi
quelle
2

Probieren Sie dieses Powershell-Skript aus, wenn Sie die Anzahl der Dateien in jedem Verzeichnis von Ihrem aktuellen Speicherort aus auflisten möchten ...

$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 }
DaveAlger
quelle
0

Sie könnten einfach xcopy mit den Optionen / T und / E verwenden, um nur Verzeichnisse zu kopieren. Auf diese Weise erhalten Sie eine vollständige und durchsuchbare Kopie der Struktur und können den ersten Teil Ihrer Frage beantworten. Lässt Sie jedoch keine Dateien anzeigen ...

Gomibushi
quelle
0

Sie können ein Archivierungstool wie WinZIP verwenden, das eine gesamte Verzeichnisstruktur in eine einzelne Datei komprimiert, die Sie beispielsweise in ein Netzwerk übertragen oder auf ein USB-Laufwerk übertragen können. Einige Tools behalten auch Flags wie schreibgeschützt, archiviert usw. bei.

Unter Linux ist mein Lieblingstool für solche Aktionen tar, das eine ganze Verzeichnisstruktur in eine einzige Datei umwandelt, die ich mit gzip koppeln kann, um das Ganze tatsächlich zu komprimieren.

jfmessier
quelle
-1

Ich fand den einfachsten Weg zur Eingabeaufforderung und Eingabe (in meinem Fall brauchte ich das K: -Verzeichnis)

tree K: > tree.doc

Ich entschied mich für ein Word-Dokument, da ich etwas benutzerfreundliches brauchte. Wählen Sie einfach MS-Dos, wenn Sie es in Word öffnen, und es wird großartig aussehen.

GeekSqueak
quelle