Показать полную графическую версию : [решено] Юлианская дата
alex1985khv
13-02-2015, 22:55
Нужно добавить в батник код, чтобы при переименовании файла (это будет выполняться ежедневно) с помощью rename автоматически в конце файла добавлялась юлианская дата (день). Как это сделать?.....
Вот пример, если надо переименовать файл Report.txt, находящийся в той же папке, где и сам батник:
@echo off
set day=%date:~0,2%
if %day:~0,1%==0 set day=%day:~1,1%
set mes=%date:~3,2%
if %mes:~0,1%==0 set mes=%mes:~1,1%
set god=%date:~6,4%
set /a JDN=%day%+((153*(%mes%+(12*((14-%mes%)/12))-3)+2)/5)+(365*(%god%+4800-((14-%mes%)/12)))+((%god%+4800-((14-%mes%)/12))/4)-((%god%+4800-((14-%mes%)/12))/100)+((%god%+4800-((14-%mes%)/12))/400)-32045
ren "%~dp0Report.txt" "Report_%JDN%.txt"
exit /b
alex1985khv
19-02-2015, 08:29
А как сделать, чтобы день текущего года был указан? Т.е. был файл bin_ors.txt. На сегодня должен называть bin_ors.txt.50 . Т.е 31 день в январе и плюс 19 дней на сегодня февраля.
А как сделать, чтобы день текущего года был указан? »
@Echo Off
:: Дата дня Х в формате DD MM YYYY. Ведущие нули должны присутствовать. Пример записи для 31 декабря 2014 года.
Set dateX=31 12 2014
:: Текущая дата
For /f %%i In ('WMIC OS Get LocalDateTime^|Find "."') Do Set DT=%%i
Call :JDat %dateX% Day
Call :JDat %DT:~6,2% %DT:~4,2% %DT:~0,4% Day
Echo Прошло (дней) - %Day%
Pause>Nul
Exit
:JDat
Set /a m=1%2-114,mm=m/12,mmm=%3+mm,%4=1%1+367*(m+12-mm*12)/12-3*(mmm/100+49)/4+1461*mmm/4-%4
GoTo:EOF
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.