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.
Comentários