Si te entiendo bien quieres hacer algo como una estructura de backups con 52 ramas, una por cada semana del año. Algunas preguntas:
- ¿Cuándo vas a ejecutar el BAT del backup semanal?
- ¿Cómo te aseguras de que el contenido de A corresponde a una semana determinada?
- ¿Vas a "limpiar" el contenido de la carpeta A y sus subcarpetas cuando hayas hecho el backup?
De momento te puedo facilitar un BAT que te permite averiguar a que semana del año corresponde una fecha. Sería este:
@echo off&setlocal
call :SemanaFecha %1 %2 %3 ss
echo La fecha %1/%2/%3 corresponde a la semana %ss%
goto :EOF
:SemanaFecha %dd% %mm% %aa% ss
setlocal ENABLEEXTENSIONS
set dd=%1&set mm=%2&set aa=%3
if 1%aa% LSS 200 if 1%aa% LSS 170 (set aa=20%aa%) else (set aa=19%aa%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,a=aa+4800-z,m=mm+12*z-3,Jd=153*m+2
set /a Jd=Jd/5+dd+a*365+a/4-a/100+a/400-32045
set /a a=aa+4798,Jp=a*365+a/4-a/100+a/400-31738,t=Jp+3,Jp=t-t%%7
set /a a=aa+4799,Jt=a*365+a/4-a/100+a/400-31738,t=Jt+3,Jt=t-t%%7
set /a a=aa+4800,Jn=a*365+a/4-a/100+a/400-31738,t=Jn+3,Jn=t-t%%7
set /a Jr=%Jp%,yn=aa-1,yn+=Jd/Jt,yn+=Jd/Jn
if %Jd% GEQ %Jn% (set /a Jr=%Jn%) else (if %Jd% GEQ %Jt% set /a Jr=%Jt%)
set /a diff=Jd-Jr,ss=diff/7+1
if %ss% LSS 10 set ss=0%ss%
endlocal&set %4=%ss%&goto :EOF
Si lo salvas como SEMANA.BAT (por ejemplo) y lo invocas así:
semana 15 10 2020
te sacará
La fecha 15/10/2020 corresponde a la semana 42
La rutina SemanaFecha está adaptada de la DateToWeek extraída de http://www.commandline.co.uk/cmdfuncs/dandt/#datetodays