вторник, 20 марта 2012 г.

Используем переменные текущей даты и времени в пакетных файлах

Иногда в пакетных файлах бывает неудобно использовать встроенные системные переменные DATE и TIME, например когда нужно именовать созданный файл или директорию в формате YYYYMMDD_hhmmss. Можно воспользоваться следующей конструкцией:

set now=%TIME:~0,-3%
set now=%now::=%
set now=%DATE:~-4%%DATE:~3,2%%DATE:~0,2%_%now%


1. %TIME:~0,-3%
 Сначала убираем лишних три символа в конце переменной: 12:23:45,34 -> 12:23:45
2. set now=%now::=%
 Затем двоеточия между цифрами:  12:23:45 -> 122345
3. set now=%DATE:~-4%%DATE:~3,2%%DATE:~0,2%_%now%
 Окончательно выстраиваем нужную переменную: 20120323_122345
где
 %DATE:~-4% - 2012,
 %DATE:~3,2% - 03,
 %DATE:~0,2% - 23,
 %now% - 122345.

1 комментарий: