2012-03-01 16:41:41 +0000 2012-03-01 16:41:41 +0000
17
17

Como copiar uma lista de nomes de ficheiros para um ficheiro de texto?

Como posso copiar os nomes dos ficheiros de um directório para um ficheiro de texto ou para uma área de transferência?

Respostas (5)

32
32
32
2012-03-01 16:45:04 +0000

É muito, muito fácil no Windows Command-Line Interpreter (todos os sistemas operativos Windows):

  1. Abra uma linha de comando (Iniciar -> Executar -> cmd Entrar)
  2. Navegue (cd) até ao directório cujos ficheiros pretende listar.
  3. Digite dir > output_file_name (por exemplo dir > C:\dir.txt) e carregue em Enter.

Abra o ficheiro de texto recentemente criado (C:\dir.txt) e terá a saída completa do comando dir nesse directório.

O maior que o símbolo (>) significa redireccionamento de saída; envia a saída da maioria dos comandos para um ficheiro que especificar e é muito útil para poder registar 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 redireccionamento de saída no final de quaisquer argumentos que queira enviar essa saída para o ficheiro de texto.

Atualizar: Criar um menu de contexto com o botão direito do rato para criar uma lista de conteúdos de directório

Criar um ficheiro batch e guardá-lo como %windir%\DirList.bat:

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

Abra o seu directório SendTo:

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

Crie um novo atalho apontando para DirList.bat e chame-lhe o que quiser.

Agora, clicando com o botão direito do rato em qualquer directório e seleccionando o sub-menu SendTo irá apresentar o seu novo comando para listar o conteúdo do directório.

NOTE: Isto só funcionará quando clicar com o botão direito do rato num directório, e irá listar apenas o conteúdo do directório em que clicou com o botão direito do rato. Também guarda a lista nesse directório (para evitar escrever por cima de outros ficheiros). O script pode ser facilmente modificado para alterar o local onde o ficheiro da lista de saída é armazenado.

9
9
9
2012-03-01 16:48:49 +0000

Pode utilizar dir /b > files.txt a partir da linha de comando para obter a lista de nomes de ficheiros armazenados em files.txt. Adicione um /s se quiser uma listagem recursiva.

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

6
6
6
2012-03-01 17:00:49 +0000

Como não mencionou um sistema operativo, aqui está como está a funcionar em *nix:

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

para ficheiros no directório actual ou

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

se quiser obter todos os ficheiros numa árvore de directórios.

2
2
2
2012-03-01 20:56:00 +0000

Outra variante do Unix seria

ls -R > myfile.txt

Esta lista listagem incluiria tudo o que consta do directório actual e dos directórios recursivos.

1
1
1
2012-06-10 04:26:54 +0000

A partir do explorador de ficheiros do Windows, crie um atalho na pasta SendTo e escreva o seguinte comando:

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

remova o texto “Start in”

Após o comando ter sido executado uma vez, pode alterar as predefinições da janela (tal como a selecção com o rato, em vez de Editar → Mark).

O único problema é que terá de ignorar a primeira linha (que diz “ficheiro não encontrado”).