@echo off SetLocal EnableDelayedExpansion set Fonte=C:\Cassiopae\Rel set Destino=C:\Cassiopae\Rel\Arquivos_ERP set Seven=C:\Program Files\WinRAR\WinRAR.exe for /f "skip=1 tokens=3" %%a in ('reg query "HKCU\Control Panel\International" -v "sShortDate"') do set FormatoData=%%a FOR /L %%a in (0,1,6) do IF /I "!FormatoData:~%%a,2!"=="dd" set "PDias=%%a,2" FOR /L %%a in (0,1,6) do IF /I "!FormatoData:~%%a,2!"=="mm" set "PMeses=%%a,2" FOR /L %%a in (0,1,6) do IF /I "!FormatoData:~%%a,4!"=="yyyy" set "PAno=%%a,4" set DataAtual=!Date:~%PAno%!!Date:~%PMeses%!!Date:~%PDias%! set Ano=!Date:~%PAno%! set Mes=!Date:~%PMeses%! set Dia=!Date:~%PDias%! :: MesNu e DiaNu são data do Mês e Dia sem 0 na frente set /a MesNu=10000%Mes% %% 10000 set /a DiaNu=10000%Dia% %% 10000 set /a AnoNu=%Ano% :: DiaAn é igual dia anterior :: Para mudar a sequencia + - dias anteriores é só mudar no (1,1,7) for /L %%a in (1,1,3) do ( IF !DiaNu! GTR 1 ( set /a DiaNu=!DiaNu! - 1 set DiaAn=0!DiaNu! set DiaAn=!DiaAn:~-2! set MesAn=0!MesNu! set MesAn=!MesAn:~-2! ) else ( set Contador=31 call :MesAnterior set DiaAn=0!DiaNu! set DiaAn=!DiaAn:~-2! set MesAn=0!MesNu! set MesAn=!MesAn:~-2! ) ) pushd "%Fonte%" for /f "delims=" %%a in ('powershell ^(get-date !DiaAn!/!MesAn!/!AnoNu!^).DayOfWeek.value__') do set Semana=%%a if "%Semana%"=="0" goto :PulaZip if "%Semana%"=="1" set Semana=SEG if "%Semana%"=="2" set Semana=TER if "%Semana%"=="3" set Semana=QUA if "%Semana%"=="4" set Semana=QUI if "%Semana%"=="5" set Semana=SEX if "%Semana%"=="6" goto :PulaZip "%Seven%" a -y "%Destino%\ERP_LEAS_!AnoNu!-!MesAn!-!DiaAn! %Semana%.zip" *.SA* ACD*.* *.SC* RCD*.* *.LOG ALS*.* :PulaZip cd C:\Cassiopae\Rel\ Del /f /s /q *.SA* ACD*.* *.SC* RCD*.* *.LOG ALS*.* cls echo Operacao Terminada. echo. echo. exit Exit :MesAnterior IF !MesNu! EQU 1 (set MesNu=12& set /a AnoNu=!AnoNu! - 1) else (set /a MesNu-=1) :DiaAnterior xcopy . temp /l /i /d:!MesNu!-!Contador!-!AnoNu! > nul 2>&1 IF /i !Errorlevel! EQU 0 (set DiaNu=!Contador!) else (Set /a Contador=!Contador!-1 & goto :DiaAnterior) goto :EOF