Sergey | 23-11-2016 |
Простой способ получить в командном файле Windows значение даты или времени это использование переменных %DATE%, %TIME%set curdatetime=%DATE%_%TIME%echo %curdatetime%Вывод:23.11.2016_14:48:38,91Поинтереснее. Заменим точку в дате на "-":set curdate=%date:.=-%echo %curdate%Вывод:23-11-2016Или вообще на пустышку:set curdate=%date:.=%echo %curdate%Вывод:23112016Это уже можно использовать для включения в имя файла для регулярного архива. Но сортировать такие файлы неудобно, надо бы год сначала, потом месяц, а потом уже день. Но не наоборот. Есть решение и тут:set YYYY=%date:~6%set MM=%date:~3,2%set DD=%date:~0,2%set curdate=%YYYY%%MM%%DD%echo %curdate%Вывод:20161123Ну и самый крутой способ - разбить сразу дату и время по элементам:for /f "tokens=1-7 delims=/-:., " %%a in ( "%DATE: =0% %TIME: =0%" ) do ( set now=%%c%%b%%a_%%d%%e)echo %now%Вывод:20161123_1448При этом способе все значения даты-времени оказываются в переменных:%%a - день%%b - месяц%%c - год%%d - часы%%e - минуты%%f - секунды%%g - сотыеКонструкция "%DATE: =0% заменяет лидирующий пробел (если он есть как например в дате " 3.10) на "0"Информация почерпнута с сайта http://forum.script-coding.com/viewtopic.php?id=4106Хотя, предполагаю, что это не оригинал.