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

Como posso exportar uma estrutura de directório no Windows?

No Explorador do Windows, há uma vista de árvores para ver a visão geral de uma estrutura de directório. Quero partilhar a estrutura com outras pessoas.

Como posso obter uma visualização da estrutura de directório de uma partição e exportar essa lista de ficheiros, para que outros a possam visualizar sem acesso à partição?

Para esclarecer, não estou interessado nos ficheiros em si. Só preciso de uma listagem hierárquica de todos os ficheiros. Fechar todos eles é não o que eu quero.

Respostas (12)

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

Assumindo que a sua árvore de directórios é de tamanho razoável, também poderia usar o comando tree construído em 0x6, que produz uma árvore de directórios bastante bonita. Infelizmente, esta beleza é difícil de conseguir trabalhar fora de uma instância cmd, por isso, provavelmente vai querer dizer-lhe para usar apenas caracteres ascii com o comando /A.

Exemplo:

A partir de uma pequena estrutura multinível

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

Pode então redireccionar isto para um ficheiro usando um comando como:

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

Onde o caminho do directório é opcional, mas útil se quiser árvorear algo que não é o directório de trabalho actual.

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

Se quiser usar powerhell o código é muito simples e a saída é agradável.

Código:

Get-ChildItem | tree

Com

Get-ChildItem | tree > foo.txt

pode canalizar a saída para um ficheiro de texto.

Exemplo de saída:

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

Também pode colocar os resultados directamente na prancheta (no Vista+):

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

Embora muito provavelmente queira a saída do comando TREE (por exemplo TREE /F > output.txt) neste caso, se o texto em bruto como a saída estiver bem, então pode executar o seguinte a partir de um prompt de comando:

DIR C:\ /S > output.txt

Onde output.txt será gerado no directório de trabalho actual, e conterá uma listagem de todos os ficheiros e directórios na unidade C:. Se quiser apenas uma saída de ficheiros com os seus full* caminhos, execute o seguinte:

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

Seria também uma tarefa trivial escrever um programa para analisar a saída num programa de estilo de visualização de directórios para que possa visualizar.

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

Abra a janela de comandos –> Vá ao seu caminho de directório

Depois execute o seguinte comando para gerar

tree /f /a > tree.doc

O comando acima fará com que a pasta e os ficheiros se estruturem recursivamente e sejam exportados para ficheiro de documento word. Pode encontrar “tree.doc” criado na mesma pasta

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

Use o seguinte comando powerhell, lembre-se também que pode exportá-lo para Xml, csv ou para base de dados. Também tenho propriedades restritas ao nome completo e nome, pode usar outras propriedades como carimbo temporal modificado, etc.

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

Criei um programa específico para isto - Directório Snapshot .
Itera recursivamente através de um directório e armazena os nomes e tamanhos de todos os ficheiros e pastas que encontra em ficheiros HTML bem estruturados, que têm uma organização semelhante à do directório de entrada.
Por outras palavras, isto pode ser pensado como uma versão hiperligada dos comandos dir /s ou tree /f .

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

Experimente este powerhell script se quiser listar o número de ficheiros em cada directório a partir da sua localização actual…

$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

Embora isto já tenha sido respondido, vim aqui à procura da solução, mas não a encontrei.

Olhando mais longe, encontrei isto : http://gnuwin32.sourceforge.net/packages/tree.htm

Com isso posso seguir as instruções de http://nsaunders.wordpress.com/2010/11/16/dropbox-tip-continued-convert-a-file-tree-to-html/ , e criar uma árvore HTML da minha pasta pública Dropbox, e dessa forma partilhar uma árvore de directórios muito facilmente.

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

Poderia simplesmente usar o xcopy com a opção /T e /E para copiar apenas directórios. Isso dar-lhe-ia uma cópia completa e navegável da estrutura, e responderia à primeira parte da sua pergunta. No entanto, não lhe permite ver ficheiros…

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

Poderá utilizar uma ferramenta de arquivamento, como o WinZIP, que pode zipar toda uma estrutura de directório num único ficheiro, que pode, por exemplo, transferir numa rede, ou colocar num disco USB. Algumas ferramentas também manterão bandeiras, tais como apenas leitura, arquivo, etc.

Sob Linux, a minha ferramenta favorita para tal acção é o tar, que levará toda uma estrutura de directório para um único ficheiro, que eu posso acoplar com gzip para comprimir realmente toda a coisa.

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

Encontrei a forma mais fácil de comandar e entrar (no meu caso precisava do directório K:)

tree K: > tree.doc

Escolhi um documento Word uma vez que precisava de algo de fácil utilização. Basta seleccionar MS-Dos ao abri-lo no Word e ficará com óptimo aspecto.