2012-06-12 31 views
22

Tenía la esperanza de poder utilizar el comandosalida del árbol en símbolo del sistema

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

a sólo archivos de texto de salida. Actualmente como está, emite cada extensión de archivo.

¿Alguien sabe de una manera fácil de hacer esto?

Respuesta

35

Tree acepta sólo unos pocos parámetros de línea de comandos:

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. 

Ninguno de los parámetros indicados son una máscara de archivos o filtro.

Puede usar dir con los interruptores adecuados y redirigir la salida a un archivo de texto. Obtendrá el nombre de la ruta completa a los archivos, pero puede filtrar que en su posterior procesamiento si es necesario con un for bucle:

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

Totalmente resuelto mi problema. Muchas gracias por la respuesta rápida. – trippedoutfish

+0

Nota: el símbolo del sistema estaba bloqueado en el servidor en el que intentaba la función de árbol. Funcionó mejor usar el comando 'dir' dentro de un archivo .cmd. –

10

En realidad no es tan difícil de conseguir su salida ÁRBOL deseado usando FINDSTR regulares expresiones. :-)

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

¿No es tan difícil? Estas son algunas cosas a nivel de asistente +1 –

0

más simple.

sólo tiene que exportar el resultado como este: tree /a /f >"toto.rtf"

a continuación, abrir el archivo con Palabra y elija MS DOS convertido.

+1

¿Cómo se suprimen los archivos que no son '.txt'? – Stephan

Cuestiones relacionadas