Làm cách nào để xuất cấu trúc thư mục trong Windows?


65

Trong Windows Explorer, có chế độ xem dạng cây để xem tổng quan về cấu trúc thư mục. Tôi muốn chia sẻ cấu trúc cho người khác.

Làm cách nào tôi có thể có được chế độ xem dạng cây có thể duyệt của cấu trúc thư mục của phân vùng và xuất danh sách tệp đó, để người khác có thể xem nó mà không cần truy cập vào phân vùng?

Để làm rõ, tôi không quan tâm đến các tập tin mình. Tôi chỉ cần một danh sách phân cấp của tất cả các tập tin. Nén tất cả chúng lên không phải là điều tôi muốn.



Nếu bạn muốn, tôi có thể viết một kịch bản AutoIt để xuất danh sách thư mục thành văn bản thuần theo bất kỳ phong cách nào bạn muốn. Sau đó, bạn có thể viết một chương trình để phân tích lại thành kiểu giống như thư mục.
Đột phá

Câu hỏi liên quan tại Stack Overflow.
trejder

Câu trả lời:


85

Giả sử cây thư mục của bạn có kích thước hợp lý, bạn cũng có thể sử dụng treelệnh tích hợp, tạo ra một cây thư mục trông khá đẹp. Thật không may, tính đẹp này rất khó để hoạt động bên ngoài một ví dụ cmd, vì vậy có lẽ bạn sẽ muốn bảo nó chỉ sử dụng các ký tự ascii với công /Atắc.

Thí dụ:

Từ một cấu trúc đa cấp nhỏ

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

Sau đó, bạn có thể chuyển hướng này đến một tệp bằng cách sử dụng một lệnh như:

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

Trường hợp đường dẫn thư mục là tùy chọn, nhưng hữu ích nếu bạn muốn tạo một cái gì đó không phải là thư mục làm việc hiện tại.


2
Bạn cũng có thể chuyển đầu ra này thành tệp văn bản bằng cách thực hiện:tree E: \A \F > output.txt
xan

@xan; Rất tiếc, đó là phần quan trọng của câu trả lời và tôi hoàn toàn quên mất nó! Cảm ơn
Phoshi

@xan chỉ là FYI, bạn cần sử dụng dấu gạch chéo ( /) thay vì dấu gạch chéo ngược cho số nhận dạng đối số dòng lệnh. Dấu gạch chéo ngược là dấu phân cách cây thư mục trong các hệ thống Windows.
Đột phá

3
@BreakENC: Rất tiếc - có, tree E: /A /F > output.txt- đã đánh nhầm dấu gạch chéo của tôi!
xan

6
Bạn cũng có thể hiển thị tên tệp bên dưới thư mục mẹ của chúng trên cấu trúc cây bằng cách thêm /ftùy chọn như sau:tree /A /f ["directory path"] > tree.txt
Ulysses Alves

19

Nếu bạn muốn sử dụng , mã rất đơn giản và đầu ra đẹp.

Mã số:

Get-ChildItem | tree

Với

Get-ChildItem | tree > foo.txt

bạn có thể dẫn đầu ra tới Textfile.

Kết quả ví dụ:

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

Bạn cũng có thể đặt kết quả trực tiếp vào bảng tạm (trong Vista +):

tree | clip

9

Mặc dù rất có thể bạn muốn đầu ra của TREElệnh (ví dụ TREE /F > output.txt) trong trường hợp này, nếu văn bản thô là đầu ra vẫn ổn, thì bạn có thể chạy đoạn sau từ dấu nhắc lệnh:

DIR C:\ /S > output.txt

Nơi output.txt sẽ được tạo trong thư mục làm việc hiện tại và chứa danh sách tất cả các tệp và thư mục trên C:ổ đĩa. Nếu bạn chỉ muốn một đầu ra của các tệp có đường dẫn đầy đủ của chúng , hãy chạy như sau:

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

Nó cũng sẽ là một nhiệm vụ tầm thường để viết một chương trình để phân tích lại đầu ra thành một chương trình kiểu xem thư mục để bạn xem.


7

Mở cửa sổ nhắc lệnh -> Chuyển đến đường dẫn thư mục của bạn

Sau đó chạy lệnh sau để tạo

tree /f /a > tree.doc

Lệnh trên sẽ làm cho cấu trúc thư mục và tệp đệ quy và xuất thành tệp tài liệu word. Bạn có thể tìm thấy "tree.doc" được tạo trong cùng một thư mục


5

Sử dụng lệnh powershell sau đây, cũng nhớ rằng bạn có thể xuất nó sang Xml, csv hoặc vào cơ sở dữ liệu. Ngoài ra tôi đã giới hạn các thuộc tính cho tên đầy đủ và tên, bạn có thể sử dụng các thuộc tính khác như dấu thời gian đã sửa đổi, v.v.

Get-ChildItem -Recurse 'Z:\temp' *.xml | Select-Object -Property FullName,name | Export-Csv directory_structure.csv

3

Tôi đã tạo một chương trình dành riêng cho việc này - Ảnh chụp thư mục .
Nó lặp lại một cách đệ quy thông qua một thư mục và lưu trữ tên và kích thước của tất cả các tệp và thư mục mà nó gặp trong các tệp HTML có cấu trúc gọn gàng, có một tổ chức tương tự như thư mục đầu vào.
Nói cách khác, đây có thể được coi là một phiên bản siêu liên kết của các lệnh dir /shoặc tree /f.


2

Hãy thử tập lệnh powershell này nếu bạn muốn liệt kê số lượng tệp trong mỗi thư mục từ vị trí hiện tại của bạn ...

$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

Mặc dù điều này đã được trả lời, tôi đã tìm kiếm giải pháp ở đây, nhưng không tìm thấy nó.

Nhìn xa hơn, tôi thấy điều này: http://gnuwin32.sourceforge.net/packages/tree.htm

Với điều đó, tôi có thể làm theo hướng dẫn của http://nsaunders.wordpress.com/2010/11/16/dropbox-tip-continued-convert-a-file-tree-to-html/ và tạo một cây HTML của tôi Dropbox thư mục công cộng, và theo cách đó chia sẻ một cây thư mục rất dễ dàng.


0

Bạn chỉ có thể sử dụng xcopy với tùy chọn / T và / E để chỉ sao chép các thư mục. Điều đó sẽ giúp bạn có một bản sao hoàn chỉnh và có thể duyệt được cấu trúc, và trả lời phần đầu tiên của câu hỏi của bạn. Không cho phép bạn xem các tập tin mặc dù ...


0

Bạn có thể sử dụng một công cụ lưu trữ, chẳng hạn như WinZIP có thể nén toàn bộ cấu trúc thư mục thành một tệp, ví dụ như bạn có thể chuyển trên mạng hoặc đặt vào đĩa USB. Một số công cụ cũng sẽ giữ các cờ như chỉ đọc, lưu trữ, v.v.

Trong Linux, công cụ yêu thích của tôi cho hành động như vậy là tar, sẽ đưa toàn bộ cấu trúc thư mục vào một tệp, mà tôi có thể ghép với gzip để thực sự nén toàn bộ.


-1

Tôi tìm thấy cách dễ nhất để đến dấu nhắc lệnh và nhập (trong trường hợp của tôi, tôi cần thư mục K:)

tree K: > tree.doc

Tôi đã chọn một tài liệu Word vì tôi cần một cái gì đó thân thiện với người dùng. Chỉ cần chọn MS-Dos khi mở nó trong Word và nó sẽ trông rất tuyệt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.