Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Архивирование логов при превышении размера

Ответить
Настройки темы
CMD/BAT - Архивирование логов при превышении размера

Аватара для Mad Max

Пользователь


Сообщения: 64
Благодарности: 3


Конфигурация

Профиль | Отправить PM | Цитировать


Есть папка с логами
Нужно сварганить скрипт, который проверяет размер каждого файла логов, если он превышает 1мб то егу нужно заархивировать, но архивы имеют нумерацию (sync.log.1.zip), тоесть нужно создать архив со следующим номером....

Зарание спасибо за подсказки и помощь.

Отправлено: 23:00, 29-10-2015

 

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Mad Max, когда задается вопрос относительно файловой системы, обычно принято приводить пример содержимого папки, имен файлов и дыр и пыр, словом, все то, что могло бы в значительной ере ускорить решение Вашей же проблемы\задачи (нужное пометить маркером). В данном же случае можно привести следующий пример:
Код: Выделить весь код
@set @zip=0 /*
  @echo off
    set @zip=
    setlocal
      set "i=0"
      for %%i in (%*) do set /a "i+=1"
      if "%i%" neq "2" (
        echo:Usage: %~n0 ^<directory^> ^<max_size^>
        goto:eof
      )
      cscript /nologo /e:jscript "%~f0" %*
    endlocal
  exit /b
*/

(function(dir, len) {
  var e, i = 1, itm, zip, shl = new ActiveXObject('Shell.Application');
  
  with (new ActiveXObject('Scripting.FileSystemObject')) {
    e = new Enumerator(GetFolder(GetAbsolutePathName(dir)).Files);
    for (; !e.atEnd(); e.moveNext()) {
      if (e.item().Size > len) {
        itm = 'sync.' + GetBaseName(e.item()) + '.' + i + '.zip';
        
        zip = CreateTextFile(itm, true);
        zip.Write("PK\05\06" + new Array(19).join("\0"));
        zip.Close();
        
        shl.NameSpace(GetFile(itm).Path).CopyHere(e.item().Path);
        WScript.Sleep(500);
        WScript.StdOut.Write(itm + '......created\r');
        
        i++;
      }
    }
  }
}(
  WScript.Arguments.length !== 2
  ? WScript.Quit(1)
  : WScript.Arguments.Unnamed(0), WScript.Arguments.Unnamed(1)
));

Отправлено: 11:57, 30-10-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Архивирование логов при превышении размера

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] Проверка изменений папки, при обнаружении - архивирование/копирование. daniil98797 Скриптовые языки администрирования Windows 24 24-07-2014 12:49
CMD/BAT - [решено] Удаление старых папок при превышении кол-ва n greenOwl Скриптовые языки администрирования Windows 2 11-07-2013 14:07
Сигнализация о превышении температуры видеокарты NIK007 Видеокарты 12 06-08-2012 15:01
Загрузка - [решено] Легальный путь отменить активацию при превышении 30 дней kornaut Microsoft Windows 2000/XP 10 20-07-2008 22:16
Изменение размера компанентов синхронно, с изменением размера формы Morbid GOD Программирование и базы данных 1 10-11-2004 02:31




 
Переход