2012-06-12 18 views
22

speravo di essere in grado di utilizzare il comandouscita di albero in prompt dei comandi

tree /F /A > "desktop"\file.txt 

di uscita solo i file di testo. Attualmente così com'è, emette ogni estensione di file.

Qualcuno sa di un modo semplice per farlo?

risposta

35

Tree accetta solo alcuni parametri della riga di comando:

c:\>Tree /? 
Graphically displays the folder structure of a drive or path. 

TREE [drive:][path] [/F] [/A] 

    /F Display the names of the files in each folder. 
    /A Use ASCII instead of extended characters. 

Nessuno dei parametri indicati sono una maschera di file o un filtro.

È possibile utilizzare dir con gli interruttori appropriati e reindirizzare l'output in un file di testo. Otterrete il nome completo percorso dei file, ma è possibile filtrare che in elaborazione successiva, se necessario, con un for ciclo:

C:\>dir *.txt /s /b > filelist.txt 
+0

Completamente risolto il mio problema. Grazie mille per la rapida risposta. – trippedoutfish

+0

Nota: il prompt dei comandi era bloccato sul server su cui stavo provando la funzione struttura. Ha funzionato al meglio per utilizzare il comando "dir" all'interno di un file .cmd. –

10

In realtà non è così difficile da ottenere l'output ALBERO desiderato utilizzando FINDSTR regolare espressioni. :-)

tree /f /a | findstr /ri /c:"^[^| ]" /c:"^[| ]*[+\\]" /c:"\.txt$" 
+3

Non così difficile? Questo è un po 'di roba di livello wizard +1 –

0

più semplice.

Hai solo bisogno di esportare il risultato come questo: tree /a /f >"toto.rtf"

Poi si apre il file con Word e scegliere MS DOS convertito.

+1

Come fa a sopprimere i file che non sono '.txt'? – Stephan

Problemi correlati