Тема: CMD/BAT: получение формата дата-время для имени файла
Достаточно часто требуется создавать файлы (например, log-файлы) с указанием непосредственно в имени текущих даты-времени. Крайне желательно при этом, чтобы созданные файлы были правильно отсортированы (т.е., использовали т.н. «японский» порядок даты — Год-Месяц-День, не забывая про ведущие нули в одноцифровых месяцах и датах). Для этого можно использовать непосредственную работу с датой и временем: CMD/BAT: работа с датой и временем в командной строке. Но существует и более простой способ: свойство «.LocalDateTime» класса «Win32_OperatingSystem» возвращает дату-время в формате CIM_DATETIME, что, фактически, и требуется:
wmic.exe OS get LocalDateTime
LocalDateTime 20101021054545.868000+240
Лишнее достаточно просто обрезать, например:
@echo off
for /f "delims=." %%i in ('wmic.exe OS get LocalDateTime ^| find "."') do set sDateTime=%%i
echo %sDateTime%
20101021055941
Из плюсов — полная независимость от региональных настроек и версий ОС: формат CIM_DATETIME един.
Автор идеи — amel27.