Rozetka UA

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

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

 

Автору респект и уважуха! Просто, лаконично и со вкусом. Тут же прикрутил к батнику, работает, внутренность выглядит примерно так:

 

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%.***

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Pratik UaPratik UaPratik Ua