2012-06-12 21 views
22

Tôi đã hy vọng để có thể sử dụng lệnhSản lượng cây trong command prompt

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

để chỉ ra tập tin văn bản. Hiện tại, nó xuất ra mọi phần mở rộng của tập tin.

Có ai biết cách dễ dàng để thực hiện việc này không?

Trả lời

35

Tree chỉ chấp nhận một vài thông số dòng lệnh:

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. 

Không ai trong số các thông số chỉ là một mặt nạ tập tin hoặc lọc.

Bạn có thể sử dụng dir với các khóa chuyển thích hợp và chuyển hướng đầu ra sang tệp văn bản. Bạn sẽ có được tên đường dẫn đầy đủ đến các tập tin, nhưng bạn có thể lọc ra rằng trong chế biến sau này nếu cần thiết với một vòng lặp for:

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

Hoàn toàn giải quyết được sự cố của tôi. Cảm ơn rất nhiều vì đã trả lời nhanh. – trippedoutfish

+0

Lưu ý - dấu nhắc lệnh đã bị khóa trên máy chủ Tôi đã thử chức năng cây trên đó. Nó hoạt động tốt nhất để sử dụng lệnh 'dir' bên trong tệp .cmd. –

10

Nó thực sự không phải là khó để có được sản lượng TREE mong muốn của bạn sử dụng FINDSTR thường xuyên biểu thức. :-)

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

Không phải là khó? Đây là một số công cụ cấp thuật sĩ +1 –

3

Lưu ý: lệnh tree không yêu cầu đầu ra theo tên!

Thay vào đó bạn có thể sử dụng phương pháp này:

dir /b /s /ad /on c:\ > c:\file.txt 

quả trông giống như ít đẹp nhưng

reference

this solution found on Superuser by pbies

0

đơn giản.

Bạn chỉ cần xuất kết quả của bạn như thế này: tree /a /f >"toto.rtf"

Sau đó, bạn mở tập tin với Lời và chọn MS DOS chuyển đổi.

+1

Làm cách nào để ngăn chặn các tệp không phải là '.txt'? – Stephan