Тема: CMD/BAT: Загрузка файла с сайта с использованием wget
Добрый день.
@echo off
REM Основной каталог.
SET BASEDIR=c:\Program Files\GnuWin32\bin\
REM имя wget, возможно с подкаталогом.
SET WGET=wget.exe
REM Ссылка без указания конечного файла.
SET URL=http://www.jensroesner.de/wgetgui/data/
REM Указываем имя файла для скачки.
SET FILE=wgetgui.zip
REM Укажем имя файла лога.
SET LOG=wget.log
REM Укажим программы для распаковки архива.
SET UNPACK="c:\Program Files\7-Zip\7z.exe"
REM Укажим где лежит архив, он сохраняется в BASEDIR
SET ARHIVE="c:\Program Files\GnuWin32\bin\wgetgui.zip"
REM Укажим куда извлечь файлы.
SET EXTRACT="c:\Program Files\GnuWin32\bin\wgetgui"
REM Проверим существует ли файл по ссылке.
"%BASEDIR%%WGET%" -a -b --spider %URL%%FILE% -o "%BASEDIR%%LOG%"
if errorlevel 0 goto NORMAL
if errorlevel 1 goto GOODBYE
:NORMAL
REM Запустим закачку.
"%BASEDIR%%WGET%" -t 10 -w 5 -nd -N -a -b %URL%%FILE% -o "%BASEDIR%%LOG%"
REM Проверим существует архив.
if exist %ARHIVE% (
REM Выполним распоковку архива, если он существует.
%UNPACK% e %ARHIVE% -o%EXTRACT% -y >> "%BASEDIR%%LOG%"
) else (
REM Если файл не существует запишем это.
echo %ARHIVE% file is missing %DATE%%TIME% >> "%BASEDIR%%LOG%"
echO ---END--- >> "%BASEDIR%%LOG%"
)
:GOODBYE
exitПосоветуйте может, что улучшить или поправить. Замечания.
Вот этот кусок нормально не отрабатывает.
REM Проверим существует ли файл по ссылке.
"%BASEDIR%%WGET%" -a -b --spider %URL%%FILE% -o "%BASEDIR%%LOG%"
if errorlevel 0 goto NORMAL
if errorlevel 1 goto GOODBYE
Придется ввести проверку доступности ресурса, через ping к примеру, а потом нужно разбирать вывод команды wget --spider, т.к. она выводит существует файл или нет, выводит именно строку.

