Батник обновления КЛАДР для 1С версии 7.7

Скрипт обновления файлов КЛАДР. Wget качает, а 7zip извлекает.

Скрипт обновления файлов КЛАДР. Wget качает, а 7zip извлекает. 

@echo off & setlocal enableextensions
@echo off

REM Основной каталог.
SET DT=%DATE%%TIME%
SET BASEDIR=%PROGRAMFILES%wget
REM имя wget, возможно с подкаталогом.
SET WGET=wget.exe
REM Ссылка без указания конечного файла.
SET URL=http://www.gnivc.ru/html/gnivcsoft/KLADR/
REM Указываем имя файла для скачки.
SET FILE=BASE.7z
REM Укажем имя файла лога.
SET LOG=wget.log
REM Укажим программы для распаковки архива.
SET UNPACK=»%PROGRAMFILES%7-Zip7z.exe»
REM Укажим где лежит архив, он сохраняется в BASEDIR
SET ARHIVE=»%PROGRAMFILES%wget\%FILE%»
REM Укажим куда извлечь файлы.
SET EXTRACT=»D:ase»
SET BLAT=»%PROGRAMFILES%latlat.exe»

echo Begin work %DT% >> «%BASEDIR%%LOG%»
REM Получим размер файла локального.
@for %%i in (%ARHIVE%) do (set /a size1=%%~Zi)
echo size local file is %size1% >> «%BASEDIR%%LOG%»

REM Полчим размер удаленного файла.
for /f «usebackq tokens=2» %%i in (`wget.exe —spider %URL%%FILE% 2#k8SjZc9Dxk>#k8SjZc9Dxk&1 #k8SjZc9Dxk|find.exe /i «Length:»`) do (set /a size2=%%i)
if errorlevel 0 goto NORMAL
if errorlevel 1 goto GOODBYE

REM Проверим существует ли файл по ссылке.
REM «%BASEDIR%%WGET%» —spider %URL%%FILE% -o «%BASEDIR%%LOG%»
REM echo %ERRORLEVEL%
REM if errorlevel 0 goto NORMAL
REM if errorlevel 1 goto GOODBYE

:NORMAL
REM Запустим закачку.
echo size remote file is %size2% >> «%BASEDIR%%LOG%»
REM «%BASEDIR%%WGET%» -t 10 -w 5 -nd -N -a -b %URL%%FILE% -o «%BASEDIR%%LOG%»
if %size1% EQU %size2% (
echo %size1% is equal to %size2% >> «%BASEDIR%%LOG%»
goto GOODBYE
) else (
if %size1% LSS %size2% (
echo %size1% is smaller than %size2% >> «%BASEDIR%%LOG%»
«%BASEDIR%%WGET%» -t 10 -w 5 -nd -N -a -b %URL%%FILE% -o «%BASEDIR%%LOG%»
%UNPACK% e %ARHIVE% -o%EXTRACT% -y >> «%BASEDIR%%LOG%»
%BLAT% -p admin -charset windows-1251 -subject «Kladr was update %DATE%%TIME%» -body «Kladr was update %DATE%%TIME%» -to admin@z-tec.ru -attach «%BASEDIR%%LOG%»
) else (
echo %size1% is greater than %size2% >> «%BASEDIR%%LOG%»
«%BASEDIR%%WGET%» -t 10 -w 5 -nd -N -a -b %URL%%FILE% -o «%BASEDIR%%LOG%»
%UNPACK% e %ARHIVE% -o%EXTRACT% -y >> «%BASEDIR%%LOG%»
%BLAT% -p admin -charset windows-1251 -subject «Kladr was update %DATE%%TIME%» -body «Kladr was update %DATE%%TIME%» -to admin@z-tec.ru -attach «%BASEDIR%%LOG%»
)
)

REM Проверим существует архив.
REM if exist %ARHIVE% (
REM Выполним распоковку архива, если он существует.
REM %UNPACK% e %ARHIVE% -o%EXTRACT% -y >> «%BASEDIR%%LOG%»

REM ) else (
REM Если файл не существует запишем это.
REM echo %ARHIVE% file is missing %DATE%%TIME% >> «%BASEDIR%%LOG%»
REM )

:GOODBYE
echo END work %DT% >> «%BASEDIR%%LOG%»

EXIT

Скрипт ведет лог.

Очень удобно нет необходимости проверять обновления кладр. 

 

4 Comments

  1. voler

    Скрипт обновления файлов КЛАДР. Wget качает, а 7zip извлекает.

    Перейти к публикации

    Reply
  2. SiAl

    А зачем два раза

    echo off

    Reply
  3. Brook

    Как пользоваться этой штукой?

    Reply
  4. v3rter

    Я правильно понимаю, что предварительно надо руками поместить wget в Program FilesWget ?

    Я правильно понимаю, что скрипт просто поддерживает актуальной папку с КЛАДРом, не загружая его в 7.7?

    Странно, что не возникает проблем со скачиванием в Program Files. У Вас XP, или скрипт запускается под Администратором?

    Многим пользователям, наверное, будет удобнее держать скрипт, логи, wget и архиватор в отдельной папке за пределами Program Files.

    А вот отправка результата через blat порадовала )

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *