Регионально независимый разбор даты и времени
Выходной формат %DATE%
и команды dir
зависит от региона и, следовательно, не является надежным и интеллектуальным. date.exe (часть UnxUtils ) предоставляет любую информацию о дате и времени в любом мыслимом формате. Вы также можете извлечь информацию о дате / времени из любого файла с помощью date.exe
.
Примеры: (в cmd-скрипте используйте %% вместо%)
date.exe +"%Y-%m-%d"
2009-12-22
date.exe +"%T"
18:55:03
date.exe +"%Y%m%d %H%M%S: Any text"
20091222 185503: любой текст
date.exe +"Text: %y/%m/%d-any text-%H.%M"
Текст: 09/12/22 - любой текст - 18,55
Command: date.exe +"%m-%d """%H %M %S """"
07-22 "18:55:03" `
Информация о дате / времени из справочного файла:
date.exe -r c:\file.txt +"The timestamp of file.txt is: %Y-%m-%d %H:%M:%S"
Использование его в сценарии CMD для получения информации о годе, месяце, дне и времени:
for /f "tokens=1,2,3,4,5,6* delims=," %%i in ('C:\Tools\etc\date.exe +"%%y,%%m,%%d,%%H,%%M,%%S"') do set yy=%%i& set mo=%%j& set dd=%%k& set hh=%%l& set mm=%%m& set ss=%%n
Использование его в сценарии CMD для получения метки времени в любом необходимом формате:
for /f "tokens=*" %%i in ('C:\Tools\etc\date.exe +"%%y-%%m-%%d %%H:%%M:%%S"') do set timestamp=%%i
Извлечение информации о дате / времени из любого ссылочного файла.
for /f "tokens=1,2,3,4,5,6* delims=," %%i in ('C:\Tools\etc\date.exe -r file.txt +"%%y,%%m,%%d,%%H,%%M,%%S"') do set yy=%%i& set mo=%%j& set dd=%%k& set hh=%%l& set mm=%%m& set ss=%%n
Добавление в файл информации о дате / времени:
for /f "tokens=*" %%i in ('C:\Tools\etc\date.exe -r file.txt +"%%y-%%m-%%d.%%H%%M%%S"') do ren file.txt file.%%i.txt
date.exe является частью бесплатных инструментов GNU , которые не требуют установки.
ПРИМЕЧАНИЕ. Копирование date.exe
в любой каталог, находящийся в пути поиска, может вызвать сбой других сценариев, использующих встроенную в Windows команду date
.