Windowsでディレクトリ構造をエクスポートするにはどうすればよいですか?


65

Windowsエクスプローラーには、ディレクトリ構造の概要を表示するツリービューがあります。他の人と構造を共有したいです。

他の人がパーティションにアクセスせずに表示できるように、パーティションのディレクトリ構造の閲覧可能なツリービューを取得してそのファイルリストをエクスポートするにはどうすればよいですか?

明確にするために、ファイル自体には興味がありません。すべてのファイルの階層リストが必要です。それらをすべて圧縮することは、私が望んでいることではありません。



必要に応じて、AutoItスクリプトを作成して、ディレクトリリストを任意のスタイルでプレーンテキストにエクスポートできます。次に、プログラムを記述して、それを解析してスタイルのようなディレクトリビューに戻すことができます。
ブレークスルー

Stack Overflowの関連質問
trejder 14

回答:


85

ディレクトリツリーのサイズが妥当であると仮定すると、組み込みtreeコマンドを使用して、かなりきれいなディレクトリツリーを作成することもできます。残念ながら、この可愛さはcmdインスタンスの外で動作させるのが難しいため、おそらく/Aスイッチでascii文字を使用するように指示したいと思うでしょう。

例:

小さなマルチレベル構造から

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

次のようなコマンドを使用して、これをファイルにリダイレクトできます。

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

ディレクトリパスはオプションですが、現在の作業ディレクトリではないものをツリー化する場合に便利です。


2
以下を実行することで、この出力をテキストファイルにパイプすることもできますtree E: \A \F > output.txt
。– xan

@xan; おっと、それは答えの重要な部分であり、私はそれを完全に忘れていました!ありがとう
-Phoshi

@xanは参考までに/、コマンドライン引数識別子にはバックスラッシュではなくスラッシュ()を使用する必要があります。バックスラッシュは、Windowsシステムのディレクトリツリーセパレーターです。
ブレークスルー

3
@Breakthrough:おっと-はい、tree E: /A /F > output.txt-スラッシュの入力ミス!
xan

6
また、追加することによって、ツリー構造の親フォルダ以下のファイル名を表示することができ/f、このようなオプションを:tree /A /f ["directory path"] > tree.txt
ユリシーズ・アウベス

19

を使用する、コードは非常に単純で、出力は素晴らしいです。

コード:

Get-ChildItem | tree

Get-ChildItem | tree > foo.txt

出力をTextfileにパイプできます。

出力例:

Auflistung der Ordnerpfade für Volume System
Volumeseriennummer : 48E9-F43B
C:.
├───Contacts
├───Desktop
├───Downloads
│   └───Evernote Import
├───Dropbox
│   ├───Apps
│   │   └───iftttcom
│   │       └───getpocketpdf
│   ├───Backup
│   ├───Camera Uploads
│   ├───Development


9

この場合、おそらくTREEコマンドの出力(たとえばTREE /F > output.txt)が必要ですが、出力として生のテキストが適切な場合は、コマンドプロンプトから次のコマンドを実行できます。

DIR C:\ /S > output.txt

output.txtは現在の作業ディレクトリに生成され、C:ドライブ上のすべてのファイルとディレクトリのリストが含まれます。フルパスのファイルの出力だけが必要な場合は、次を実行します。

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

また、出力を解析してディレクトリビュースタイルのプログラムに戻し、表示するプログラムを作成するのも簡単な作業です。


7

コマンドプロンプトウィンドウを開く->ディレクトリパスに移動する

次に、次のコマンドを実行して生成します

tree /f /a > tree.doc

上記のコマンドは、フォルダーとファイルの構造を再帰的に作成し、Wordドキュメントファイルにエクスポートします。同じフォルダに作成された「tree.doc」を見つけることができます


5

次のpowershellコマンドを使用します。Xml、csv、またはデータベースにエクスポートできることも忘れないでください。また、プロパティをフルネームと名前に制限しています。変更されたタイムスタンプなどの他のプロパティを使用できます。

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

3

このディレクトリスナップショット専用のプログラムを作成しました。
ディレクトリを再帰的に反復し、検出されたすべてのファイルとフォルダの名前とサイズを、入力ディレクトリと同様の組織を持つきちんと構造化されたHTMLファイルに保存します。
つまり、これはdir /sor tree /fコマンドのハイパーリンクバージョンと考えることができます。


2

現在の場所から各ディレクトリ内のファイルの数一覧表示する場合は、このPowerShellスクリプトを試してください...

$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

これはすでに回答済みですが、解決策を探しに来ましたが、見つかりませんでした。

さらに探して、私はこれを見つけました:http : //gnuwin32.sourceforge.net/packages/tree.htm

これで、http://nsaunders.wordpress.com/2010/11/16/dropbox-tip-continued-convert-a-file-tree-to-html/の指示に従って、私のHTMLツリーを作成できますDropboxパブリックフォルダー、およびその方法でディレクトリツリーを共有するのは非常に簡単です。


0

/ Tおよび/ Eオプションを指定してxcopyを使用するだけで、ディレクトリのみをコピーできます。これにより、構造の完全で閲覧可能なコピーが得られ、質問の最初の部分に答えます。ただし、ファイルを表示できません...


0

ディレクトリ構造全体を単一のファイルに圧縮できるWinZIPなどのアーカイブツールを使用できます。このツールを使用すると、たとえばネットワーク上で転送したり、USBディスクに入れたりできます。一部のツールは、読み取り専用、アーカイブなどのフラグも保持します。

Linuxでは、このようなアクションに最適なツールはtarです。これは、ディレクトリ構造全体を1つのファイルに取り込み、gzipと組み合わせて実際に全体を圧縮できます。


-1

コマンドプロンプトに移動して入力する最も簡単な方法を見つけました(私の場合はK:ディレクトリが必要でした)

tree K: > tree.doc

ユーザーフレンドリーなものが必要なため、Word文書を選択しました。Wordで開くときにMS-Dosを選択するだけで、見栄えがよくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.