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