Como copiar uma lista de nomes de arquivos para o arquivo de texto?

17

Como posso copiar os nomes dos arquivos em um diretório para um arquivo de texto ou uma área de transferência?

Alex G
fonte
1
Como mencionado por hochl, você não dá o nome do sistema operacional ... mas a palavra "lote" referem-se implicitamente que o famoso "W" ...: S
climenole
Possível duplicado de Criar arquivo / lista de pastas
Dmitry Grigoryev
Se você estiver de acordo com o caminho completo do arquivo, mantenha pressionada a tecla Shift, clique com o botão direito do mouse nos arquivos / pastas destacados e escolha "Copiar como caminho". Isso fornecerá o caminho completo de todos os arquivos / pastas selecionados na área de transferência.
214 Josh Josh

Respostas:

31

É muito, muito fácil no interpretador de linha de comando do Windows (todos os sistemas operacionais Windows):

  1. Abra um prompt de comando (Iniciar -> Executar -> cmd Enter)
  2. Navegue ( cd) para o diretório cujos arquivos você deseja listar.
  3. Digite (por exemplo, ) e pressione .dir > output_file_namedir > C:\dir.txtEnter

Abra o arquivo de texto recém-criado ( C:\dir.txt) e você terá a saída completa do dircomando nesse diretório.

O símbolo maior que ( >) significa redirecionamento de saída; envia a saída da maioria dos comandos para um arquivo especificado e é muito útil para poder registrar a saída dos comandos.

A saída pode ser controlada com todas as várias opções disponíveis para personalizar a saída normal do comando DIR; basta adicionar o redirecionamento de saída no final dos argumentos que você deseja enviar para o arquivo de texto.

Atualização: Criando um menu de contexto com o botão direito do mouse para criar a listagem de conteúdo do diretório

Crie um arquivo em lotes e salve-o como %windir%\DirList.bat:

@echo off
set dirpath=%1
dir %dirpath% /-p /o:gn > "%dirpath%\DirContents.txt"
exit

Abra seu SendTodiretório:

Windows 7 / Vista: %appdata%\Microsoft\Windows\SendTo
Windows XP:%USERPROFILE%\SendTo

Crie um novo atalho apontando DirList.bate chame-o como quiser.

Agora, clicar com o botão direito do mouse em qualquer diretório e selecionar o SendTosubmenu apresentará seu novo comando para listar o conteúdo do diretório.

NOTA: Isso funcionará apenas ao clicar com o botão direito do mouse em um diretório e listará apenas o conteúdo do diretório em que você clicou com o botão direito. Ele também salva a lista nesse diretório (para evitar a substituição de outros arquivos). O script pode ser facilmente modificado para alterar onde o arquivo da lista de saída está armazenado.

music2myear
fonte
4
Eu acho que você está perdendo o /binterruptor. Sem ele, informações adicionais, como tamanhos de arquivo e datas de criação, também serão registradas no arquivo.
Bhargav Bhat
Realmente depende do que ele quer gravar. Usei o conjunto mais simples para não confundir com informações adicionais. Você verá que eu adicionei informações de que a saída pode ser personalizada com todas as opções disponíveis do comando DIR.
Music2myear
O que eu gostaria de fazer é criar um arquivo .bat contendo o comando: dir > dir.txt. Depois, posso copiar esse arquivo para qualquer pasta, executá-lo e obter a lista de arquivos de texto ali, sem abrir um prompt de comando e navegar pelas pastas.
Steven Noto
Isso funcionaria. Pode até haver maneiras de integrar essa funcionalidade ao menu de contexto do botão direito.
music2myear
Este link tem instruções para imprimir uma lista, mas pode ser facilmente modificado. Vou ver se consigo montar algo esta tarde: watchingthenet.com/…
music2myear
9

Você pode usar dir /b > files.txtna linha de comando para obter a lista de nomes de arquivos armazenados files.txt. Adicione a /sse desejar uma listagem recursiva.

Para colocar o conteúdo diretamente na área de transferência, basta canalizar a saída para clip, ou seja, executar dir /b | clip.

Bhargav Bhat
fonte
6

Como você não mencionou um sistema operacional, veja como ele está funcionando no * nix:

$ find . -maxdepth 1 -type f > /tmp/files.txt

para arquivos no diretório atual ou

$ find . -type f > /tmp/files.txt

se você deseja obter todos os arquivos em uma árvore de diretórios.

hochl
fonte
2

Outra variante Unix seria

ls -R > myfile.txt 

Isso listaria tudo no diretório atual e nos diretórios recursivos.

ablinkin
fonte
1

No explorador de arquivos do Windows, crie um atalho na pasta SendTo e digite o seguinte comando:

%windir%\system32\cmd.exe /k dir /b "%1"

remova o texto "Iniciar"

Depois que o comando foi executado uma vez, você pode alterar os padrões da janela (como a seleção com o mouse, em vez de Editar → Marcar).

O único problema é que você precisará ignorar a primeira linha (que diz "arquivo não encontrado").

Ethan
fonte