Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
Script:
@echo off
setlocal
:: Defina o caminho para a pasta de backups
set "backupDir=C:\Caminho\Para\Pastas\De\Backup"
:: Defina o número de dias para manter as pastas
set "dias=7"
:: Obtenha a data atual no formato YYYYMMDD
for /f %%a in ('wmic os get localdatetime ^| find "."') do set datetime=%%a
set "currentDate=%datetime:~0,8%"
:: Navegue até o diretório de backups
pushd "%backupDir%" || exit /b
:: Loop através de cada pasta no diretório
for /d %%d in (*) do (
:: Obtenha a data de criação da pasta no formato YYYYMMDD
for /f "tokens=1,2 delims= " %%a in ('dir /tc "%%d" ^| findstr /b /c:"%%d"') do set "folderDate=%%b"
set "folderDate=%folderDate:~6,4%%folderDate:~3,2%%folderDate:~0,2%"
:: Calcule a diferença de dias entre a data atual e a data da pasta
call :DateDiff %folderDate% %currentDate% diff
:: Se a diferença for maior que o número de dias especificado, apague a pasta
if %diff% gtr %dias% (
echo Apagando pasta: %%d
rmdir /s /q "%%d"
)
)
:: Volte ao diretório original
popd
endlocal
exit /b
:DateDiff
setlocal
set "date1=%1"
set "date2=%2"
:: Converta as datas para o formato de dias desde 1970-01-01
for /f %%a in ('powershell -command "[datetime]::ParseExact('%date1%', 'yyyyMMdd', $null).ToFileTimeUtc()"') do set /a "days1=%%a/864000000000"
for /f %%a in ('powershell -command "[datetime]::ParseExact('%date2%', 'yyyyMMdd', $null).ToFileTimeUtc()"') do set /a "days2=%%a/864000000000"
:: Calcule a diferença de dias
set /a "difference=days2-days1"
endlocal & set "%~3=%difference%"
exit /b
Como Executar o Script:
1. Abra o Bloco de Notas no Windows.
2. Copie e cole o código do script acima no Bloco de Notas.
3. Altere o valor da variável backupDir
para o caminho correto onde suas pastas de backup estão localizadas.
4. Salve o arquivo com a extensão .bat
, por exemplo, apagar_backups.bat
.
5. Clique com o botão direito no arquivo .bat
salvo e selecione "Executar como administrador" para garantir que o script tenha as permissões necessárias para apagar as pastas.