quarta-feira, outubro 21, 2015

Excluindo arquivos e pastas de backup antigas automaticante - FORFILES


Tenho rotinas de backup que copiam/criam diretórios e estes são compactados.  O problema é que, se os mais antigos não forem apagados, perde-se grandes espaços em disco.  Buscando soluções para linhas de comandos em arquivos bat (batch/DOS) encontrei o (milagroso) comando FORFILES onde com duas linhas de comando, resolvi meu problema:

1 - apaga somente os arquivos .rar com mais de 3 dias
FORFILES /P "c:\seudiretorio\seusubdiretorio" /M *.rar /D -3 /C "cmd /c echo @path"

2 - apaga os arquivos dos diretórios com mais de 3 dias
FORFILES /P "D:\Backup_Geral\Backup_DBs_EGTec" /D -3 /C "cmd /c del @path /q"

3 - Apaga os diretórios com mais de 3 dias
FORFILES /P "D:\Backup_Geral\Backup_DBs_EGTec" /D -3 /C "cmd /c rd @path /s /q"

Com estes comandos sendo executados por um arquivo batch (.bat) os backups com mais de 3 dias (no meu caso) são excluídos automaticamente.

Para maiores detalhes sobre o comando e seus parâmetros, seguem alguns links:

Forfiles - TechNet - Microsoft

Exluir arquivos com mais de X dias de idade

Espero que ajude.

Abraços.