2012-06-12 21 views
22

Miałem nadzieję, aby móc użyć komendyWyjście z drzewa wiersza poleceń

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

do wyprowadzane tylko pliki tekstowe. Obecnie jest tak, jak wyprowadza każde rozszerzenie pliku.

Czy ktoś wie o łatwy sposób to zrobić?

Odpowiedz

35

Tree akceptuje tylko kilka parametrów polecenia:

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. 

Żaden z wymienionych parametrów są maska ​​pliku lub filtra.

Możesz użyć za pomocą odpowiednich przełączników i przekierować wyjście do pliku tekstowego. Dostaniesz pełną nazwę ścieżki do plików, ale można filtrować że w późniejszej obróbki w razie potrzeby z for pętli:

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

Całkowicie rozwiązałem mój problem. Wielkie dzięki za szybką odpowiedź. – trippedoutfish

+0

Uwaga - wiersz polecenia został zablokowany na serwerze, na którym próbowałem funkcji drzewa. Najlepiej działało polecenie "dir" wewnątrz pliku .cmd. –

10

To nie jest rzeczywiście takie trudne, aby uzyskać pożądane wyjście TREE użyciu findstr regularną wyrażenia. :-)

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

Nie takie trudne? To jest jakiś poziom kreatora +1 –

0

prostsze.

Wystarczy wyeksportować swój wynik tak: tree /a /f >"toto.rtf"

Następnie należy otworzyć plik z Słowa i wybierz MS DOS przeliczyć.

+1

W jaki sposób blokuje to pliki, które nie są '.txt'? – Stephan

Powiązane problemy