En mi máquina de Windows 10, el formato de fecha%% es diferente de los valores esperados por @Alex K. respuesta, por lo que no funcionó para mí . Después de investigar un poco más, desenterré el siguiente script, que es bueno para obtener cualquier fecha en el formato de su elección. Utilice day=0
para hoy, para mañana day=1
, day=-1
de ayer, etc ...
set day=0
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YYYY=%result:~0,4%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
set "today=%yyyy%%mm%%dd%"
echo %today%
+1 en tu respuesta . Solo curiosidad, ¿qué significa el punto en 'echo.% Now%' do? Sé que 'echo' escribe una línea en blanco, pero nunca había visto eso antes. –
Es un truco para evitar que ECHO ejecute accidentalmente un comando; si '% f%' era '" OFF "' entonces 'echo% f%' ** ejecutaría ** el comando '" ECHO OFF "' que desactivaría el eco, el período hace 'ECHO.% f%' print ' "DESACTIVADO" '. –
¡Gracias por eso! –