Windowsエクスプローラには、ディレクトリ構造の概要を見るためのツリービューがあります。その構造を他の人にも伝えたい。
パーティションのディレクトリ構造のブラウズ可能なツリービューを取得し、そのファイルリストをエクスポートして、他の人がそのパーティションにアクセスしなくても表示できるようにするにはどうすればよいですか
明確にするために、私はファイル自体には興味がありません。私はただすべてのファイルの階層的なリストが必要です。それらすべてを圧縮するのは、私が欲しいものではありません。
ディレクトリツリーのサイズが妥当であれば、組み込みのtree
コマンドを使用することもできます。これにより、かなりきれいなディレクトリツリーが作成されます。残念ながら、このかわいらしさはcmdインスタンスの外ではうまくいきませんので、おそらく/A
スイッチでASCII文字を使うように伝えたいでしょう。
小さなマルチレベル構造から
+---A
| +---A
| \---B
+---B
| \---A
| \---A
\---C
次のようなコマンドを使用してこれをファイルにリダイレクトできます。
tree /A ["directory path"] > tree.txt
ディレクトリパスはオプションですが、現在の作業ディレクトリ以外のものをツリー化する場合に便利です。
powershell を使用する場合、コードは非常に単純で、出力はNiceです。
コード:
Get-ChildItem | tree
あり
Get-ChildItem | tree > foo.txt
出力をテキストファイルに渡すことができます。
出力例:
Auflistung der Ordnerpfade für Volume System
Volumeseriennummer : 48E9-F43B
C:.
├───Contacts
├───Desktop
├───Downloads
│ └───Evernote Import
├───Dropbox
│ ├───Apps
│ │ └───iftttcom
│ │ └───getpocketpdf
│ ├───Backup
│ ├───Camera Uploads
│ ├───Development
結果を直接クリップボードに入れることもできます(Vista +の場合)。
tree | clip
この場合はTREE
コマンド(例:TREE /F > output.txt
)の出力が必要な場合がほとんどですが、出力としての生のテキストが問題ない場合は、コマンドプロンプトから次のコマンドを実行できます。
DIR C:\ /S > output.txt
Output.txtは現在の作業ディレクトリに生成され、C:
ドライブ上のすべてのファイルとディレクトリのリストを含みます。 フルパスのパスを持つファイルのみを出力する場合は、次のコマンドを実行します。
DIR C:\ /B /S > output.txt
また、出力を解析してディレクトリビュー形式のプログラムに戻すプログラムを作成して、表示するのは簡単なことではありません。
コマンドプロンプトウィンドウを開く - >ディレクトリパスに移動する
その後、次のコマンドを実行して生成します。
tree /f /a > tree.doc
上記のコマンドは、フォルダとファイルの構造を再帰的に作成し、Word文書ファイルにエクスポートします。同じフォルダに "tree.doc"が作成されています。
次のpowershellコマンドを使用します。これをXml、csv、またはデータベースにエクスポートできることも忘れないでください。また、私はフルネームと名前にプロパティを制限しました、あなたは修正されたタイムスタンプなどのような他のプロパティを使うことができます.
Get-ChildItem -Recurse 'Z:\temp' *.xml | Select-Object -Property FullName,name | Export-Csv directory_structure.csv
私はこれのために特別にプログラムを作成しました - ディレクトリスナップショット 。
それはディレクトリを再帰的に反復して、遭遇するすべてのファイルとフォルダの名前とサイズをきちんと構造化されたHTMLファイルに格納します。
言い換えれば、これは dir /s
または tree /f
のハイパーリンクバージョンと考えることができます。 コマンド.
各ディレクトリのファイル数を一覧表示したい場合は、この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 }
これはすでに答えられていますが、私はここで解決策を探しに来ましたが、それを見つけることができませんでした。
さらに見て、私はこれを見つけた: http://gnuwin32.sourceforge.net/packages/tree.htm
それで私は http://nsaunders.wordpress.com/2010/11/16/dropbox-tip-continued-convert-a-file-tree-to-htmlの指示に従うことができます/ と私のDropboxのパブリックフォルダのHTMLツリーを作成し、そのようにしてディレクトリツリーをとても簡単に共有できます。
Xcopyを/ Tおよび/ Eオプションと一緒に使用して、ディレクトリだけをコピーすることができます。それはあなたに構造の完全で閲覧可能なコピーを取得させ、あなたの質問の最初の部分に答えます。あなたはファイルを見ることはできませんが...
WinZIPなどのアーカイブツールを使用して、ディレクトリ構造全体を1つのファイルに圧縮することができます。たとえば、ネットワーク上で転送したり、USBディスクに置いたりすることができます。一部のツールでは、読み取り専用、アーカイブなどのフラグも保持されます。
Linuxでは、そのようなアクションのための私のお気に入りのツールはtarです。これはディレクトリ構造全体を1つのファイルにまとめます。これをgzipと組み合わせると、実際にすべてのものを圧縮できます。