Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Script para apagar pastas de backup com mais de 7 dias no Windows

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.


To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.