Foro de elhacker.net

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
  1. @echo off
  2. for /f "tokens=2 delims==" %%G in ('wmic os get localdatetime /value') do set datetime=%%G
  3. set yyyy=%datetime:~0,4%
  4. set mm=%datetime:~4,2%
  5. set dd=%datetime:~6,2%
  6. set dd=%datetime:~6,2%
  7. 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
  1. set /a dd=%dd%-1
  2. 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
  1. 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.