Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Orni1 en 3 Abril 2021, 18:58 PM

Título: restar dias
Publicado por: Orni1 en 3 Abril 2021, 18:58 PM
Tengo este código para obtener la fecha en formato dd-mm-yyyy

Código (bash) [Seleccionar]
@echo off
for /f "tokens=2 delims==" %%G in ('wmic os get localdatetime /value') do set datetime=%%G
set yyyy=%datetime:~0,4%
set mm=%datetime:~4,2%
set dd=%datetime:~6,2%
set dd=%datetime:~6,2%
echo %dd%-%mm%-%yyyy%


Que da este resultado hoy 03-04-2021

Si al día le sumo o resto una unidad no mantiene el formato de dos cifras si es menor 10.
Cómo puedo hacer para restar uno cada vez  que quiera y siempre guarde el formato de dos cifras en el día.
Si hago esto:
Código (bash) [Seleccionar]

set /a dd=%dd%-1
echo %dd%-%mm%-%yyyy%

El resultado es 2-04-2021 no es el que quiero 02-04-2021
No sirve la opcion de añadir el cero...
Código (bash) [Seleccionar]
if %dd% LSS 10 set dd=0%dd% porque la suma o resta se puede repetir y añadiría un cero cada vez. Las veces que se repita la resta es variable.