Добавим получение даты и времени независимо от системных настроек:
Код:
@echo OFF
call :GETTIMESTAMP TIMESTAMP
echo %TIMESTAMP:~0,4%-%TIMESTAMP:~4,2%-%TIMESTAMP:~6,2% %TIMESTAMP:~8,2%:%TIMESTAMP:~10,2%:%TIMESTAMP:~12,2%
pause
goto :EOF
:GETTIMESTAMP
for /f "usebackq tokens=2 delims==" %%A in (`wmic os get LocalDateTime /value`) do set "%~1=%%A"
goto :EOF
И до кучи - получение даты/времени UTC (т.е. независимых от местного часового пояса)
Код:
@echo OFF
setlocal EnableDelayedExpansion
call :GETUTCTIMESTAMP TIMESTAMP
echo %TIMESTAMP%
pause
goto :EOF
:GETUTCTIMESTAMP
for /f "usebackq tokens=1,2 delims==" %%A in (`wmic path Win32_UTCTime get year^,month^,day^,hour^,minute^,second /value ^| find "="`) do (
set /a TMPVAL=%%B
if !TMPVAL! LSS 10 (
set UTC_%%A=0%%B
) else (
set UTC_%%A=%%B
)
)
set %1=%UTC_Year%-%UTC_Month%-%UTC_Day%T%UTC_Hour%:%UTC_Minute%:%UTC_Second%Z
goto :EOF
Данные "таймштампы" пригодятся, в частности, для скриптов, ведущих логи выполнения.