2011-03-16 11:31:01 +0000 2011-03-16 11:31:01 +0000
66
66

Jak mogę wyeksportować strukturę katalogów w systemie Windows?

W Eksploratorze Windows istnieje widok drzewa, aby zobaczyć przegląd struktury katalogów. Chcę udostępnić tę strukturę innym osobom.

Jak mogę uzyskać przeglądalny widok drzewa struktury katalogów na partycji i wyeksportować listę plików, aby inni mogli ją zobaczyć bez dostępu do partycji?

Aby wyjaśnić, nie interesują mnie same pliki. Potrzebuję tylko hierarchicznej listy wszystkich plików. Rozpakowywanie ich wszystkich nie jest nie tym, czego chcę.

Odpowiedzi (12)

86
86
86
2011-08-04 13:22:53 +0000

Zakładając, że twoje drzewo katalogów jest rozsądnej wielkości, możesz również użyć wbudowanego polecenia tree, które tworzy dość ładnie wyglądające drzewo katalogów. Niestety, to piękno jest trudne do uzyskania poza instancją cmd, więc prawdopodobnie będziesz chciał powiedzieć mu, aby używał tylko znaków ascii z przełącznikiem /A.

Przykład:

Z małej wielopoziomowej struktury

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

Można to następnie przekierować do pliku za pomocą polecenia takiego jak:

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

Gdzie ścieżka do katalogu jest opcjonalna, ale przydatna, jeśli chcesz zadrzewić coś, co nie jest bieżącym katalogiem roboczym.

19
19
19
2012-07-17 14:32:54 +0000

Jeśli chcesz użyć powershell kod jest bardzo prosty i wyjście jest ładne.

Kod:

Get-ChildItem | tree

Za pomocą

Get-ChildItem | tree > foo.txt

możesz potokować wyjście do pliku tekstowego.

Przykładowe wyjście:

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
10
10
2013-12-18 12:25:42 +0000

Wyniki można również umieścić bezpośrednio w schowku (w Vista+):

tree | clip
9
9
9
2011-08-04 13:33:24 +0000

Chociaż w tym przypadku najprawdopodobniej chcesz uzyskać wyjście polecenia TREE (np. TREE /F > output.txt), jeśli nieobrobiony tekst jako wyjście jest w porządku, możesz wykonać następujące polecenie z wiersza poleceń:

DIR C:\ /S > output.txt

Gdzie output.txt zostanie wygenerowany w bieżącym katalogu roboczym i będzie zawierał listing wszystkich plików i katalogów na dysku C:. Jeśli chcesz uzyskać tylko listę plików z ich pełnymi ścieżkami, wykonaj następujące polecenie:

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

Byłoby również trywialnym zadaniem napisanie programu do parsowania danych wyjściowych z powrotem do programu w stylu widoku katalogu, abyś mógł je przeglądać.

7
7
7
2015-06-02 09:13:19 +0000

Otwórz okno wiersza poleceń –> Przejdź do ścieżki katalogu

Następnie uruchom następujące polecenie, aby wygenerować

tree /f /a > tree.doc

Powyższe polecenie spowoduje rekurencyjne tworzenie struktury folderów i plików oraz eksport do pliku dokumentu word. Możesz znaleźć “tree.doc” utworzony w tym samym folderze

5
5
5
2013-03-06 01:32:14 +0000

Użyj następującego polecenia powershell, pamiętaj również, że możesz wyeksportować go do Xml, csv lub do bazy danych. Również ograniczyłem właściwości do pełnej nazwy i nazwy, możesz użyć innych właściwości, takich jak zmodyfikowany znacznik czasu itp.

Get-ChildItem -Recurse 'Z:\temp' *.xml | Select-Object -Property FullName,name | Export-Csv directory_structure.csv
3
3
3
2015-03-25 21:12:09 +0000

Stworzyłem program specjalnie do tego celu - Directory Snapshot .
Program ten rekurencyjnie iteruje po katalogu i zapisuje nazwy i rozmiary wszystkich plików i folderów, które napotka w schludnie zorganizowanych plikach HTML, które mają organizację podobną do tej z katalogu wejściowego.
Innymi słowy, można o tym myśleć jak o hiperłączowej wersji poleceń dir /s lub tree /f .

2
2
2
2014-11-11 18:39:20 +0000

Wypróbuj ten skrypt powershell, jeśli chcesz wypisać liczbę plików w każdym katalogu z bieżącej lokalizacji…

$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
1
1
2012-07-17 14:12:20 +0000

Chociaż już odpowiedziano na to pytanie, przyszedłem szukając tutaj rozwiązania, ale nie znalazłem go.

Szukając dalej, znalazłem to : http://gnuwin32.sourceforge.net/packages/tree.htm

Dzięki temu mogę postępować zgodnie z instrukcjami http://nsaunders.wordpress.com/2010/11/16/dropbox-tip-continued-convert-a-file-tree-to-html/ , i utworzyć drzewo HTML mojego folderu publicznego Dropbox, i w ten sposób udostępniać drzewo katalogów bardzo łatwo.

0
0
0
2011-03-16 12:07:44 +0000

Mógłbyś po prostu użyć xcopy z opcją /T i /E, aby skopiować tylko katalogi. To dałoby ci kompletną i łatwą do przeglądania kopię struktury, i odpowiada na pierwszą część twojego pytania. Nie pozwala jednak na przeglądanie plików…

0
0
0
2011-03-16 12:18:23 +0000

Możesz użyć narzędzia do archiwizacji, takiego jak WinZIP, który może zripować całą strukturę katalogów do pojedynczego pliku, który można, na przykład, przesłać w sieci lub umieścić na dysku USB. Niektóre narzędzia zachowują również flagi takie jak tylko do odczytu, archiwum, itp.

Pod Linuksem, moim ulubionym narzędziem do tego typu działań jest tar, który potrafi zebrać całą strukturę katalogów w pojedynczy plik, który mogę połączyć z gzipem, aby faktycznie skompresować całość.

-1
-1
-1
2014-05-14 16:40:01 +0000

Najłatwiejszy sposób znalazłem przechodząc do wiersza poleceń i wpisując (w moim przypadku potrzebowałem katalogu K:)

tree K: > tree.doc

Wybrałem dokument Worda, ponieważ potrzebowałem czegoś przyjaznego dla użytkownika. Wystarczy wybrać MS-Dos przy otwieraniu go w Wordzie i będzie wyglądał świetnie.