Respuestas:
Se puede hacer, pero no es tan limpio y ordenado como eso:
echo %date:~-4%%date:~3,2%%date:~0,2%%time:~0,2%%time:~3,2%%time:~6,2%
Esto para mí devuelve:
Tenga en cuenta que esto es específico de la configuración regional, y en realidad es un poco complicado. Es simplemente una concatenación de:
cual es el formato de salida de ejecución:
date +"%Y%m%d%H%M%S"en Linux
El uso %date%para proporcionar una solución depende, como se indicó en otra respuesta, de la configuración regional, regional y de idioma del sistema operativo.
El uso wmic, por otro lado, funciona independientemente de la configuración regional del idioma, el idioma o el formato de fecha elegido por el usuario (Panel de control / Regional).
El siguiente archivo por lotes se utiliza wmicpara recuperar la fecha y la hora (local) en el formato especificado del OP, por lo que no sufre la desventaja de una solución que utilice %date%.
getdate.cmd:
@echo off
setlocal
rem use findstr to strip blank lines from wmic output
for /f "usebackq skip=1 tokens=1-6" %%g in (`wmic Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year ^| findstr /r /v "^$"`) do (
set _day=00%%g
set _hours=00%%h
set _minutes=00%%i
set _month=00%%j
set _seconds=00%%k
set _year=%%l
)
rem pad with leading zeros
set _month=%_month:~-2%
set _day=%_day:~-2%
set _hh=%_hours:~-2%
set _mm=%_minutes:~-2%
set _ss=%_seconds:~-2%
set _date=%_year%%_month%%_day%%_hh%%_mm%%_ss%
echo %_date%
endlocal
El archivo por lotes anterior es una versión modificada del ejemplo en getdate
Salida :
F:\test>date /t && time /t
25/02/2016
16:49
F:\test>getdate
20160225164929
F:\test>
Cywin para la comparación :
DavidPostill@Hal /f/test
$ date +"%Y%m%d%H%M%S"
20160225164938