Comment exporter une structure de répertoire sous Windows?


65

Dans l'Explorateur Windows, une vue en arborescence présente la vue d'ensemble de la structure d'un répertoire. Je veux partager la structure avec d'autres personnes.

Comment puis-je obtenir une vue arborescente navigable de la structure de répertoires d'une partition et exporter cette liste de fichiers, afin que d'autres puissent la visualiser sans accès à la partition?

Pour clarifier, je ne suis pas intéressé par les fichiers eux-mêmes. J'ai juste besoin d'une liste hiérarchique de tous les fichiers. Les fermer tous n'est pas ce que je veux.



Si vous le souhaitez, je peux écrire un script AutoIt pour exporter la liste de répertoires en texte brut dans le style de votre choix. Vous pouvez ensuite écrire un programme pour le réanalyser dans une vue de type répertoire.
Percée

Question connexe au débordement de pile.
Trejder

Réponses:


85

En supposant que votre arborescence de répertoires ait une taille raisonnable, vous pouvez également utiliser la treecommande intégrée , qui produit une arborescence de répertoires plutôt jolie. Malheureusement, cette beauté est difficile à faire fonctionner en dehors d'une instance de commande, alors vous voudrez probablement lui dire d'utiliser uniquement des caractères ascii avec le /Acommutateur.

Exemple:

D'une petite structure multi-niveaux

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

Vous pouvez ensuite le rediriger vers un fichier en utilisant une commande telle que:

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

Où le chemin du répertoire est facultatif, mais utile si vous souhaitez arborer un élément autre que le répertoire de travail actuel.


2
Vous pouvez également diriger cette sortie vers un fichier texte en faisant:tree E: \A \F > output.txt
xan

@xan; Oups, c'était la partie importante de la réponse et je l'ai complètement oublié! Merci
Phoshi

@xan, juste pour votre information, vous devez utiliser des barres obliques /inversées ( ) au lieu de barres obliques inverses pour les identificateurs d'argument de ligne de commande. Les barres obliques inverses sont des séparateurs d'arborescence de répertoires dans les systèmes Windows.
Percée

3
@ Breakthrough: Oups - oui, tree E: /A /F > output.txt- mal orthographié mes slash!
xan

6
Vous pouvez également afficher les noms de fichiers sous leur dossier parent sur l'arborescence en ajoutant l' /foption suivante:tree /A /f ["directory path"] > tree.txt
Ulysses Alves

19

Si vous voulez utiliser le code est très simple et la sortie est agréable.

Code:

Get-ChildItem | tree

Avec

Get-ChildItem | tree > foo.txt

vous pouvez diriger la sortie vers un fichier texte.

Exemple de sortie:

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

Vous pouvez également placer les résultats directement dans le presse-papiers (sous Vista +):

tree | clip

9

Bien que vous souhaitiez très probablement la sortie de la TREEcommande (par exemple TREE /F > output.txt) dans ce cas, si le texte brut correspond à la sortie, vous pouvez exécuter ce qui suit à partir d'une invite de commande:

DIR C:\ /S > output.txt

Où output.txt sera généré dans le répertoire de travail en cours et contiendra une liste de tous les fichiers et répertoires du C:lecteur. Si vous voulez juste une sortie de fichiers avec leurs chemins complets , exécutez ce qui suit:

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

Ce serait également une tâche facile d’écrire un programme pour analyser la sortie dans un programme de style vue de répertoire que vous pourrez visualiser.


7

Ouvrir la fenêtre d'invite de commande -> Aller à votre chemin de répertoire

Puis exécutez la commande suivante pour générer

tree /f /a > tree.doc

La commande ci-dessus rendra le dossier et les fichiers structurés de manière récursive et exportés au format Word. Vous pouvez trouver "tree.doc" créé dans le même dossier


5

Utilisez la commande suivante de powershell, n'oubliez pas que vous pouvez l'exporter au format XML, CSV ou base de données. De plus, j'ai limité les propriétés au nom complet et au nom, vous pouvez utiliser d'autres propriétés telles que l'horodatage modifié, etc.

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

3

J'ai créé un programme spécifiquement pour cela - Directory Snapshot .
Il effectue une itération récursive dans un répertoire et stocke les noms et la taille de tous les fichiers et dossiers rencontrés dans des fichiers HTML parfaitement structurés, dont l'organisation est similaire à celle du répertoire d'entrée.
En d'autres termes, cela peut être considéré comme une version avec hyperlien des commandes dir /sou tree /f.


2

Essayez ce script PowerShell si vous souhaitez répertorier le nombre de fichiers dans chaque répertoire à partir de votre emplacement actuel ...

$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 }


0

Vous pouvez simplement utiliser xcopy avec les options / T et / E pour ne copier que des répertoires. Cela vous donnerait une copie complète et consultable de la structure, et répondrait à la première partie de votre question. Ne vous permet pas de voir les fichiers cependant ...


0

Vous pouvez utiliser un outil d'archivage, tel que WinZIP, capable de compresser une structure de répertoires entière dans un seul fichier, que vous pouvez par exemple transférer sur un réseau ou sur un disque USB. Certains outils conserveront également des indicateurs tels que lecture seule, archive, etc.

Sous Linux, mon outil préféré pour ce type d’action est tar, qui prend une structure de répertoires complète dans un seul fichier, que je peux coupler avec gzip pour compresser le tout.


-1

J'ai trouvé le moyen le plus simple d'aller à l'invite de commande et d'entrer (dans mon cas, j'avais besoin du répertoire K:)

tree K: > tree.doc

J'ai choisi un document Word car j'avais besoin de quelque chose de convivial. Il suffit de sélectionner MS-Dos lors de l’ouverture dans Word pour obtenir un résultat superbe.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.