@ricardo_brboa tarde meu amigo!
Cara, tô com uma situação meio louca.
Quando eu rodo essa bat, gera certinho como eu quero, mas tem um detalhe que demorei pra conseguir encontrar.
O arquivo está sendo gerado com encoding UCS-2 LE BOM, mas esse arquivo está sendo rejeitado pelo sistema, pois o devido teria que ser UTF-8.
O código abaixo que você fez pra mim também, gera UTF-8.
@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(-3).tostring('yyyyMMdd')>"C:\Users\marcos.psimoes\Downloads\Marcos\Data.txt"
Powershell (get-date).adddays(-3).tostring('yyyyMMdd')>>"C:\Users\marcos.psimoes\Downloads\Marcos\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