|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Архивирование логов при превышении размера |
|
CMD/BAT - Архивирование логов при превышении размера
|
Пользователь Сообщения: 64 |
Есть папка с логами
Нужно сварганить скрипт, который проверяет размер каждого файла логов, если он превышает 1мб то егу нужно заархивировать, но архивы имеют нумерацию (sync.log.1.zip), тоесть нужно создать архив со следующим номером.... Зарание спасибо за подсказки и помощь. |
|
Отправлено: 23:00, 29-10-2015 |
Забанен Сообщения: 793
|
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 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|