none
Script batch file para copiar uma subpasta com vários arquivos dentro de várias pastas RRS feed

  • Pergunta

  • Olá, preciso escrever um script para o DOS que possa facilitar a minha vida.

    Tenho uma subpasta com 6 arquivos, e preciso copiá-la dentro de várias pastas com nomes diferentes (são 103 pastas).

    Por exemplo: preciso copiar a pasta "presente" dentro das pastas "A", "B", "C", "D"....

    Só consegui encontrar comandos para copiar os arquivos da subpasta, mas preciso da estrutura dela também para rodar no R depois.

    Estava fazendo manualmente, mas está demorando muito porque os arquivos também são grandes. Alguém pode me ajudar?

    terça-feira, 28 de julho de 2015 22:39

Todas as Respostas

  • Olá, tudo bem?

    Utilize o comando Robocopy que facilmente tratará esta tarefa.

    Visualize no link a sintaxe e monte a linha de código de acordo com sua necessidade.

    https://technet.microsoft.com/pt-br/library/cc733145%28v=ws.10%29.aspx

    Att.,


    Sergio Figueiredo
    Microsoft Certified Solutions Associate
    Blog: http://sfigueiredoit.com.br

    quarta-feira, 29 de julho de 2015 12:26
  • anapeq1984, bom dia!

    Você pode utilizar o robocopy para fazer.

    • Baixe o Resource Kit Tools que contem o Robocopy, este kit possuiu outras ferramentas que também é bom você conhecer.
    • Se você instalar o RKtools da forma padrão, o Robocopy estará no diretório C:\Program Files (x86)\Windows Resource Kits\Tools, você pode deixá-lo neste diretório ou copiá-lo para qualquer outro lugar.

    Depois você irá criar uma bat com o comando abaixo.

    \\CAMINHO_DO_ROBOCOPY\robocopy.exe "\\CAMINHO_ORIGEM_\DIR1\DIR2\PRESENTE" "CAMINHO_DESTINO\DIR_A" /E /r:3

    \\CAMINHO_DO_ROBOCOPY\robocopy.exe "\\CAMINHO_ORIGEM_\DIR1\DIR2\PRESENTE" "CAMINHO_DESTINO\DIR_B" /E /r:3

    \\CAMINHO_DO_ROBOCOPY\robocopy.exe "\\CAMINHO_ORIGEM_\DIR1\DIR2\PRESENTE" "CAMINHO_DESTINO\DIR_C" /E /r:3

    \\CAMINHO_DO_ROBOCOPY\robocopy.exe "\\CAMINHO_ORIGEM_\DIR1\DIR2\PRESENTE" "CAMINHO_DESTINO\DIR_D" /E /r:3

    ......

    O parâmetro /E irá copiar os subdiretórios, mesmo que tenham pastas vazias.

    O parâmetro /r:3, caso ocorra falha, ele irá tentar 3 vezes fazer a cópia.

    Abraço




    quarta-feira, 29 de julho de 2015 14:49