Как создать файл с именем равным текущей дате и времени
Автору респект и уважуха! Просто, лаконично и со вкусом. Тут же прикрутил к батнику, работает, внутренность выглядит примерно так:
sqlcmd **команда выполняющая некий скрипт и формирующая некий файл ответа, пусть там XXX.TXT
rem @echo off
set dd=%DATE%
set tt=%TIME%
set /a ddd=%dd:~0,2%
IF %ddd% LSS 10 (
SET day=0%ddd%) else (
SET day=%ddd%)
set month=%dd:~3,2%
set year=%dd:~6,4%
set /a ttt=%tt:~0,2%
IF %ttt% LSS 10 (
SET hour=0%ttt%) else (
SET hour=%ttt%)
SET minute=%tt:~3,2%
SET sec=%tt:~6,2%
echo %day% %month% %year% %hour% %minute% %sec%
rem copy nul %day%%month%%year%_%hour%%minute%%sec%.txt
rem copy nul %year%%month%%day%_%hour%%minute%%sec%.txt
copy XXX.TXT %year%%month%%day%_%hour%%minute%%sec%.txt
..с прискорбием сообщаю- скрипт глючный и косячный. У меня часть логов была утрачена по причине ошибки.
Вот эта вещь работает значительно надежней
set h=%TIME:~0,2%
set m=%TIME:~3,2%
set s=%TIME:~6,2%
set ms=%TIME:~9,2%
set curtime=%h%:%m%:%s%:%ms%
set dd=%DATE:~0,2%
set mm=%DATE:~3,2%
set yyyy=%DATE:~6,4%
set curdate=%dd%-%mm%-%yyyy%
set curdatetime=%curdate% %curtime%
copy ***.*** %yyyy%%mm%%mm%_%h%%m%%s%.***
И опять глюк. Скрипт выше так же ошибочен, в промежуток с 0 до 10 часов он формирует имя файла с пробелом, что не воспринимается операционкой.
Пришлось переписать. Текст ниже вроде бы работает нормально. То есть, ошибок в работе ПОКА ЧТО не замечено 🙂
set h=0%TIME:~0,2%
set m=%TIME:~3,2%
set s=%TIME:~6,2%
set ms=%TIME:~9,2%
set curtime=%h%:%m%:%s%:%ms%
set dd=%DATE:~0,2%
set mm=%DATE:~3,2%
set yyyy=%DATE:~6,4%
set curdate=%dd%-%mm%-%yyyy%
set curdatetime=%curdate% %curtime%
set h=%h: =%
set h=%h:~-2%
copy ***.*** %yyyy%%mm%%dd%_%h%%m%%s%.***