poner nombre fecha ddmmyyyy bat archivo windows batch-file

windows - nombre - Como obtener la fecha en el archivo BAT



cmd date format ddmmyyyy (5)

Necesito obtener la fecha de hoy en el archivo Window *.bat . Después de eso me gustaría obtener día, mes y año. ¿Cómo puedo hacer esto?
No puedo usar PowerShell


Esto le dará las variables DD MM YYYY YY HH Min Sec y funciona en cualquier máquina Windows desde XP Pro y posteriores.

@echo off for /f "tokens=2 delims==" %%a in (''wmic OS Get localdatetime /value'') do set "dt=%%a" set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%" set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%" set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%" echo datestamp: "%datestamp%" echo timestamp: "%timestamp%" echo fullstamp: "%fullstamp%" pause


Obtienes y formateas así

for /f "tokens=1-4 delims=/ " %%i in ("%date%") do ( set dow=%%i set month=%%j set day=%%k set year=%%l ) set datestr=%month%_%day%_%year% echo datestr is %datestr%


Un trazador de líneas de una ubicación independiente para obtener el formato de fecha que desee. Lo uso para generar nombres de archivo. Se necesita la opción de cotización inversa porque la línea de comandos de PowerShell usa comillas simples.

:: Get date in yyyyMMdd_HHmm format to use with file name. FOR /f "usebackq" %%i IN (`PowerShell ^(Get-Date^).ToString^(''yyyy-MM-dd''^)`) DO SET DTime=%%i :: Get formatted yesterday date. FOR /f "usebackq" %%i IN (`PowerShell ^(Get-Date^).AddDays^(-1^).ToString^(''yyyy-MM-dd''^)`) DO SET DTime=%%i :: Show file name with the date. echo Archive.%DTime%.zip


%date% te dará la fecha.

%time% te dará el tiempo.

La date y la time /t comandos pueden darle más detalles.


set datestr=%date% set result=%datestr:/=-% @echo %result% pause