2011-03-16 11:31:01 +0000 2011-03-16 11:31:01 +0000
66
66

Come posso esportare una struttura di directory in Windows?

In Windows Explorer, c'è una vista ad albero per vedere la panoramica della struttura di una directory. Voglio condividere la struttura con altre persone.

Come posso ottenere una vista ad albero navigabile della struttura delle directory di una partizione ed esportare tale elenco di file, in modo che altri possano vederlo senza accedere alla partizione?

Per chiarire, non sono interessato ai file stessi. Ho solo bisogno di un elenco gerarchico di tutti i file. Zipparli tutti non è non quello che voglio.

Risposte (12)

86
86
86
2011-08-04 13:22:53 +0000

Assumendo che il vostro albero di directory sia di dimensioni ragionevoli, potreste anche usare il comando integrato tree, che produce un albero di directory piuttosto carino. Sfortunatamente questa bellezza è difficile da far funzionare al di fuori di un'istanza cmd, quindi probabilmente vorrete dirgli di usare solo caratteri ascii con lo switch /A.

Esempio:

Da una piccola struttura a più livelli

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

Puoi poi reindirizzare questo a un file usando un comando come:

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

Dove il percorso della directory è opzionale, ma utile se si vuole mettere ad albero qualcosa che non è la directory di lavoro corrente.

19
19
19
2012-07-17 14:32:54 +0000

Se volete usare powershell il codice è molto semplice e l'output è bello.

Codice:

Get-ChildItem | tree

Con

Get-ChildItem | tree > foo.txt

puoi pipe l'output in un Textfile.

Esempio di output:

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
10
10
2013-12-18 12:25:42 +0000

Potete anche mettere i risultati direttamente negli appunti (in Vista+):

tree | clip
9
9
9
2011-08-04 13:33:24 +0000

Mentre molto probabilmente in questo caso vuoi l'output del comando TREE (per esempio TREE /F > output.txt), se il testo grezzo come output va bene, allora puoi eseguire quanto segue da un prompt dei comandi:

DIR C:\ /S > output.txt

Dove output.txt sarà generato nella directory di lavoro corrente, e conterrà un elenco di tutti i file e le directory sul drive C:. Se vuoi solo un output di file con i loro percorsi pieni, esegui quanto segue:

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

Sarebbe anche un compito banale scrivere un programma che analizzi l'output in un programma stile visualizzazione delle directory da visualizzare.

7
7
7
2015-06-02 09:13:19 +0000

Aprite la finestra del prompt dei comandi –> Andate al vostro percorso di directory

Poi eseguite il seguente comando per generare

tree /f /a > tree.doc

Sopra il comando farà la struttura delle cartelle e dei file in modo ricorsivo ed esporrà in un file di documento word. Puoi trovare “tree.doc” creato nella stessa cartella

5
5
5
2013-03-06 01:32:14 +0000

Usa il seguente comando powershell, ricorda anche che puoi esportarlo in Xml, csv o in un database. Inoltre ho limitato le proprietà a nome e cognome, puoi usare altre proprietà come il timestamp modificato ecc.

Get-ChildItem -Recurse 'Z:\temp' *.xml | Select-Object -Property FullName,name | Export-Csv directory_structure.csv
3
3
3
2015-03-25 21:12:09 +0000

Ho creato un programma appositamente per questo - Directory Snapshot .
itera ricorsivamente attraverso una directory e memorizza i nomi e le dimensioni di tutti i file e le cartelle che incontra in file HTML ben strutturati, che hanno un'organizzazione simile a quella della directory di input.
In altre parole, questo può essere pensato come una versione ipertestuale dei comandi dir /s o tree /f .

2
2
2
2014-11-11 18:39:20 +0000

Provate questo script powershell se volete elencare il numero di file in ogni directory dalla vostra posizione attuale…

$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
1
1
2012-07-17 14:12:20 +0000

Anche se questo è già stato risposto, sono venuto a cercare qui la soluzione, ma non l'ho trovata.

Cercando meglio, ho trovato questo: http://gnuwin32.sourceforge.net/packages/tree.htm

Con questo posso seguire le istruzioni di http://nsaunders.wordpress.com/2010/11/16/dropbox-tip-continued-convert-a-file-tree-to-html/ , e creare un albero HTML della mia cartella pubblica Dropbox, e in questo modo condividere un albero di directory molto facile.

0
0
0
2011-03-16 12:07:44 +0000

Potresti semplicemente usare xcopy con l'opzione /T e /E per copiare solo le directory. Questo ti darebbe una copia completa e navigabile della struttura, e risponde alla prima parte della tua domanda. Non ti permette però di visualizzare i file…

0
0
0
2011-03-16 12:18:23 +0000

Potresti usare uno strumento di archiviazione, come WinZIP che può comprimere un'intera struttura di directory in un singolo file, che puoi, per esempio, trasferire in rete o mettere su un disco USB. Alcuni strumenti manterranno anche flag come sola lettura, archivio, ecc.

Sotto Linux, il mio strumento preferito per tali azioni è tar, che prenderà un'intera struttura di directory in un singolo file, che posso accoppiare con gzip per comprimere effettivamente il tutto.

-1
-1
-1
2014-05-14 16:40:01 +0000

Ho trovato il modo più semplice andando al prompt dei comandi e inserendo (nel mio caso avevo bisogno della directory K:)

tree K: > tree.doc

Ho scelto un documento Word poiché avevo bisogno di qualcosa di facile da usare. Basta selezionare MS-Dos quando lo si apre in Word e sarà perfetto.