forum.wfido.ru  

Вернуться   forum.wfido.ru > Архив Калужских эх > ARC2.KLG.SOFTHARD

ARC2.KLG.SOFTHARD Архив Калужской эхи о софте и железе

 
 
Опции темы Опции просмотра
  #1  
Старый 09.10.2018, 15:34
Bogdan Spasennikov
Guest
 
Сообщений: n/a
По умолчанию Скрипт / Помощь в написании

Bogdan Spasennikov написал(а) к All в Jan 07 03:59:12 по местному времени:

Доброе время суток, All !

Требуется помощь в написании небольшого скрипта (в принципе он уже написан, но иногда работает не так, как хотелось бы, почему, что и как опишу чуть ниже). Итак есть некоторый лог, который пишется в разные файлы с именами вида:

200612_29_00mainchat.log
200612_29_01mainchat.log
200612_29_02mainchat.log
200612_29_03mainchat.log

Т.е. имя в формате yyyymm_dd_hhmainchat.log, где hh - час (00..23). Требуется из пакетного файла собрать все эти файлы по-порядку в единый mainchat.log (за один день). Т.к. кроме языка командного интерпретатора cmd.exe я больше ничем не владею (имеются ввиду всякие там VBScript и прочие), то набросал следующее:

for /l %%n in (0,1,9) do (
FOR /F "usebackq tokens=1-3 delims=." %%i IN (`echo %date%`) DO type "%%k%%j_%%i_0%%nmainchat.log" >> "mainchat.log"
)

for /l %%n in (10,1,23) do (
FOR /F "usebackq tokens=1-3 delims=." %%i IN (`echo %date%`) DO type "%%k%%j_%%i_%%nmainchat.log" >> "mainchat.log"
)

В первом цикле, как видно, "пробегаются" часы от 00 до 09, во втором от 10 до 23, разбиение на два цикла сделано потому, что я не придумал как по-другому подставить лидирующий ноль в имени файла для часов < 10. Все это запускается в планировщике в 23:59, соответственно в %date% мы имеем текущую дату и mainchat.log собирается за текущий день 00:00-23:59, но есть одно но. Иногда система бывает загружена и bat'ник запускается не в 23:59, а с небольшим опозданием, например в 00:00:01, тогда mainchat.log не собирается из кусков ... т.к. за эту дату логи по часам еще не писались. Как бы дописать его, чтобы логи собирались не за текущую дату, а за предыдущую?

С уважением, Bogdan !

( ) E-Mail: twilight_zone(at)mail.ru, ICQ# 977-628
--- GoldED+/W32-MSVC 1.1.5-20060917 (WinNT 5.1.2600-SP2 iP-IV)
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Выкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Текущее время: 11:41. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot