Тема: VBScript: получение формата дата-время для имени файла
Достаточно часто требуется создавать файлы (например, log-файлы) с указанием непосредственно в имени текущих даты-времени. Крайне желательно при этом, чтобы созданные файлы были правильно отсортированы (т.е., использовали т.н. «японский» порядок даты — Год-Месяц-День, не забывая про ведущие нули в одноцифровых месяцах и датах). Для этого можно использовать непосредственную работу с функциями даты и времени. Но существует и более простой способ: свойство «.LocalDateTime» класса «Win32_OperatingSystem» возвращает дату-время в формате CIM_DATETIME, которую достаточно просто обрезать, например:
Option Explicit
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx
Dim strDateTime
Set objSWbemServicesEx = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set collSWbemObjectSet = objSWbemServicesEx.ExecQuery("SELECT LocalDateTime FROM Win32_OperatingSystem")
For Each objSWbemObjectEx In collSWbemObjectSet
strDateTime = Left(objSWbemObjectEx.LocalDateTime, 8 + 6)
Exit For
Next
WScript.Echo strDateTime
Set objSWbemObjectEx = Nothing
Set collSWbemObjectSet = Nothing
Set objSWbemServicesEx = Nothing
WScript.Quit 0
20101021063810
Из плюсов — полная независимость от региональных настроек и версий ОС: формат CIM_DATETIME един.
Автор идеи — amel27.