restar dias

Iniciado por Orni1, 3 Abril 2021, 18:58 PM

0 Miembros y 1 Visitante están viendo este tema.

Orni1

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.