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

15

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

    
por Alex G 01.03.2012 / 17:41

5 respostas

27

É 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 Entrar )
  2. Navegue ( cd ) para o diretório cujos arquivos você deseja listar.
  3. Insira dir > output_file_name (por exemplo, dir > C:\dir.txt ) e pressione Enter .

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

O símbolo maior que ( > ) significa redirecionamento de saída; Ele envia a saída da maioria dos comandos para um arquivo que você especificar e é muito útil para ser capaz de registrar a saída de 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 de qualquer argumento que você deseja enviar a saída para o arquivo de texto.

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

Crie um arquivo de lote e salve-o como %windir%\DirList.bat :

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

Abra o diretório SendTo :

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

Crie um novo atalho apontando para DirList.bat e chame como quiser.

Agora, clique com o botão direito do mouse em qualquer diretório e selecione o sub-menu SendTo para apresentar seu novo comando para listar o conteúdo do diretório.

NOTA: Isso só funcionará quando você 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 do mouse. Também salva a lista nesse diretório (para evitar sobrescrever outros arquivos). O script pode ser facilmente modificado para alterar onde o arquivo da lista de saída é armazenado.

    
por 01.03.2012 / 17:45
7

Você pode usar dir /b > files.txt na linha de comando para obter a lista de nomes de arquivos armazenados em files.txt . Adicione um /s se você quiser uma listagem recursiva.

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

    
por 01.03.2012 / 17:48
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.

    
por 01.03.2012 / 18:00
1

Outra variante do Unix seria

ls -R > myfile.txt 

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

    
por 01.03.2012 / 21:56
1

A partir do 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 em"

Após o comando ser 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").

    
por 10.06.2012 / 06:26

Tags