Модераторы: don_tosha, The BigfooD, bv7, Vital Key
@ECHO OFF
REM Адрес сервера обновлений
SET url=http://nod.uvaga.by/nod4/
REM Папка локального зеркала
SET mir=%~dp0..\updates
IF "%1"=="" (
start "" /MIN "%0" 1
GOTO :EOF
)
SETLOCAL ENABLEDELAYEDEXPANSION
MD "%mir%"
CALL :wget update.ver
FOR /f "usebackq tokens=1,2 delims==" %%a IN ("%mir%\update.ver") DO IF "%%b"=="" (
IF "!platform!"=="%PROCESSOR_ARCHITECTURE%" CALL :wget !file! -b
) ELSE IF "%%a"=="platform" (
SET platform=%%b
) ELSE IF "%%a"=="versionid" (
SET versionid=%%b
) ELSE IF "%%a"=="file" (
SET file=%%b
)
EXIT
:wget
"%~dp0wget.exe" -N -kk %2 -o"nul" -P"%mir%" %url%%1
smyth писал(а):Vital Key писал(а):2. Написать программу, которая:
а. Скачивает архив с Уваги
б. Распаковывает в локальную папку
Будет замечательно если ещё:
в. Прописывает себя в планировщик или имеет свой планировщик
г. Прописывает в НОД обновление из локальной папки
д. Проверяет версию обновления и скачивает архив только, если версия изменилась
е. Имеет настройки версии НОДа, локальной папки, планировщика и т.п.
По пункту "г" (Прописывает в НОД обновление из локальной папки).
НОД хранит имена серверов обновления в реестре:
[HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\UI_Settings\Servers]
в этой ветке хранится список серверов, введенных через GUI пользователем
[HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Plugins\01000400\Profiles\@My profile]
параметр "SelectedServer" - выбранный пользователем (текущий) сервер
Ессесно, эти ключи НОД не дает редактировать сторонней проге из соображений собственной безопасности. Служба ESET Service (ekrn) NOT_STOPPABLE,NOT_PAUSABLE. Способ ее засуспендить чтобы внести изменения в реестр в голову не приходит...
tseba2 писал(а):а если создать новое зеркало? Сколько там должно быть места?
лается не неё нод... Как там, всё ли нормально?Vital Key писал(а):davidsoft, я как раз сейчас тестирую эту прогу...
boba_l писал(а):лается не неё нод... Как там, всё ли нормально?Vital Key писал(а):davidsoft, я как раз сейчас тестирую эту прогу...
boba_l писал(а):лается не неё нод... Как там, всё ли нормально?Vital Key писал(а):davidsoft, я как раз сейчас тестирую эту прогу...
Vital Key писал(а):boba_l писал(а):лается не неё нод... Как там, всё ли нормально?Vital Key писал(а):davidsoft, я как раз сейчас тестирую эту прогу...
Короче, я её забраковал. Или я дурак или он не корректно на Win7 x64 работает, но это дело я закинул. Народ не разберётся. Нужно что-то намного проще. Тем более работы ведутся.
Кроме того я сейчас веду переговоры о создании зеркала на госте с несколькими сайтами. Так что, я думаю, будет несколько решений нашей проблемы.
Vital Key писал(а):Короче, я её забраковал. Или я дурак или он не корректно на Win7 x64 работает
tseba2 писал(а):Согласен, новое зеокало - единственное решение, над которым и нужно работать.
Vital Key писал(а):Не удаляются прописанные сервера, не пропитывается новый.
Vital Key писал(а):По поводу стачивания только новых файлов: я не уверен, что такой способ не нарушит целостность зеркала. Оно в результате разрастется до неимоверных размеров (ненужные файлы ведь никак не удаляются и т.п.). Вот если бы реализовать функцию синхронизацию локальной папки с папкой в интернете (сравнивается время и размер каждого файла и скачиваются более новые, но, если файл отсутствует в интернет-папке, то его нужно удалить из локальной).
А пока лично себе я не рискую не скачивать всю базу...
@ECHO OFF
REM bv7(c) UpdateNod4.cmd v3.00.02 (Создание локального зеркала обновлений NOD32)
REM 1) Скопировать в локальную папку вместе с wget.exe (например в папку c:\nod\bin\).
REM 2) Указать параметрах обновления NOD32 папку локального зеркала (например c:\nod\updates\).
REM 3) Для обнновления зеркала запустить данный командный файл, либо указать его в планировщике NOD32.
REM Как работает:
REM 1) Скачивает update.ver.
REM 2) Скачивает/обновляет и регистрирует все файлы, указанные в update.ver и соответствующие платформе (см. переменную plf).
REM 3) Удаляет файлы, непроходившие регистрацию (чтобы не накапливались устаревшие файлы).
REM Адрес сервера обновлений
SET url=http://nod.uvaga.by/nod4/
REM Папка локального зеркала
SET mir=%~dp0..\updates
REM Платформа для закачки (для скачивания вне зависимости от платформы оставьте значение пустым)
REM SET plf=
SET plf=%PROCESSOR_ARCHITECTURE%
IF "%1"=="" (
start "" /MIN "%0" /g
GOTO :EOF
) ELSE IF "%1"=="/g" (
SETLOCAL ENABLEDELAYEDEXPANSION
SET platform=
MD "%mir%"
DEL "%mir%\actualfiles.txt" /Q
CALL :wget update.ver
FOR /f "usebackq tokens=1,2 delims==" %%a IN ("%mir%\update.ver") DO IF "%%b"=="" (
IF NOT "!file!"=="" IF "!platform!"=="%plf%" (
ECHO !file!>>"%mir%\actualfiles.txt"
CALL :wget !file! -b
)
) ELSE IF "%%a"=="platform" (
IF NOT "%plf%"=="" SET platform=%%b
) ELSE IF "%%a"=="versionid" (
SET versionid=%%b
) ELSE IF "%%a"=="file" (
SET file=%%b
)
FOR %%f IN ("%mir%\*.nup") DO CALL "%0" /s "%%f"
DEL "%mir%\actualfiles.txt" /Q
EXIT
) ELSE IF "%1"=="/s" (
SET actual=
FOR /f "usebackq tokens=1" %%e IN (`CALL %0 /f %2`) DO IF NOT "%%e"=="" SET actual=1
IF "!actual!"=="" DEL %2 /Q
) ELSE IF "%1"=="/f" (
FINDSTR /L /I /X /M /P "%~nx2" "%mir%\actualfiles.txt"
)
GOTO :EOF
REM Закачка файла
:wget
"%~dp0wget.exe" -N -kk %2 -o"nul" -P"%mir%" %url%%1
tseba2 писал(а):Vital Key писал(а):boba_l писал(а):лается не неё нод... Как там, всё ли нормально?Vital Key писал(а):davidsoft, я как раз сейчас тестирую эту прогу...
Короче, я её забраковал. Или я дурак или он не корректно на Win7 x64 работает, но это дело я закинул. Народ не разберётся. Нужно что-то намного проще. Тем более работы ведутся.
Кроме того я сейчас веду переговоры о создании зеркала на госте с несколькими сайтами. Так что, я думаю, будет несколько решений нашей проблемы.
Согласен, новое зеокало - единственное решение, над которым и нужно работать.
Вернуться в Проект nod.uvaga.by
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0