Copie todos os arquivos de uma lista de locais de pastas

1

Eu tenho uma lista de locais de pastas dos quais gostaria de copiar todos os arquivos contidos nesses locais. A lista de locais de pastas é armazenada em uma linha separada dentro de um arquivo de texto (.txt). Todos os arquivos devem ser copiados para o mesmo local.

Como posso concluir este exercício usando esta lista de pastas em combinação com uma função de cópia no prompt de comando?

    
por BobJim 12.05.2015 / 15:08

2 respostas

0

Eu peguei o código Elvins e o desenvolvi um pouco para resolver o problema de incluir espaços em caminhos e nomes de pastas.

O comando For Do agora usa um arquivo CSV para originar os caminhos de pasta, então era necessário incluir a opção "delims=," dentro do comando For.

for /f "delims=," %a in (D:\Batch_Files\Test_Bench\Folders_List.csv) do copy "%a\*" D:\Batch_Files\Test_Bench\Paste_All_The_Files_Here

Os registros delimitados por vírgulas permitiram que o For /f acessasse os locais que continham espaços, mas somente se o token %a\* estivesse envolto em "".

    
por 15.05.2015 / 16:40
3

Considerando um arquivo com um conteúdo semelhante contendo uma lista de diretórios, como:

c:
c:\users 
c:\anyotherfolder

xcopy dentro de um loop for fará o trabalho:)

for /f %a in (list.txt) do xcopy /e %a\* c:\destination_folder\

(copiando toda a árvore de diretórios (devido a /e ))

Você deve adicionar um % extra ao nome da variável se quiser mantê-lo e executá-lo em um arquivo .bat separado.

    
por 12.05.2015 / 16:39