Ir ao conteúdo

Posts recomendados

Postado

Olá Pessoal!

Gostaria de saber se alguém poderia me ajudar. . . Preciso criar um .bat que copie todos os arquivos de uma certa pasta para outra, porém queria poder especificar uma data para que o .bat copiasse somente arquivos com a data menor ou igual a estipulada.

Se alguém souber por favor me ajudem :D:D

Postado

Olá amigo, na minha opinião não precisa fazer um arquivo bat para isso porque é só uma linha de código você pode decorar básicamente tem 2 programas que podem fazer isso que já estão embutidos no windows: xcopy e robocopy.

robocopy c:\arquivos e:\backup /e /ndl /maxage:20130409

Nesse exemplo são copiados todos os arquivos de c:\arquivos para e:\backup que são de 09/04/2013 ou mais recente.

xcopy c:\arquivos e:\backup /e /h /D:04-09-2013

Esse comando faz a mesma coisa só que repare que o formato da data é diferente:

xcopy mm-dd-aaaa

robocopy aaaammdd

a= ano

d=dias

m=meses

Postado

Então Ricardo porque no caso eu tenho que pegar todos os arquivos de um determinado período. Por exemplo agente está no dia 09/04 e eu preciso mover todos os arquivos de 01/03 à 30/03 para outra pasta. E tenho que deletar os que eu copiei da pasta de origem. . . Não sei se agora ficou mais claro o que eu preciso.

Testei esse que você me passou e ele realmente copia os arquivos da data que eu coloquei ate a atual. Porém eu tenho que especificar a data, porque o que eu preciso não pode ser até a data atual.

Postado

Então ficaria assim:

robocopy c:\origem e:\destino /maxage:20130330 /minage:20130301 /e /mov /ndl

agora explicando os parâmetros:

/e instrui para copiar também subpastas incluindo as vazias

/maxage a data máxima que um arquivos\pasta deve ter para ser incluido na cópia

/minage a data mínima que uma arquivo\pasta deve ter para ser incluido na cópia

/mov move os arquivos ao invês de copiar os arquivos copiados são excluidos da fonte

/ndl não mostra uma listagem de pastas da fonte...(isso deixa a saída do comando mais limpo).

Outra dúvida que é importante quando você diz todos os arquvos entre 01/03/2013 - 30/03/2013 você está se referindo a que data? Data de criação, data de modificação, ou data do último acesso?

Dica: use o parâmetro /l quando você quer fazer apenas uma listagem dos arquivos que seriam incluido na cópia, sem realmente cópiar ou mover os arquivos, apenas para ver qual seria o resultado....

  • 4 anos depois...
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!