@echo off SetLocal EnableDelayedExpansion 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,4!"=="yyyy" set "PAno=%%a,4" 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,2!"=="dd" set "PDias=%%a,2" 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% @echo off Powershell (get-date).adddays(-1).tostring('yyyyMMdd')>"C:\Teste\Data.txt" Powershell (get-date).adddays(-1).tostring('yyyyMMdd')>>"C:\Teste\Data.txt" Exit :MesAnterior IF !MesNu! EQU 1 (set MesNu=12& set /a AnoNu=!AnoNu! - 1) else (set /a MesNu-=1) 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 :MesAnterior) goto :EOF