<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Загрузка файла с сайта с использованием wget]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=6903</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6903&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Загрузка файла с сайта с использованием wget».]]></description>
		<lastBuildDate>Wed, 07 Mar 2012 06:49:36 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Загрузка файла с сайта с использованием wget]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57587#p57587</link>
			<description><![CDATA[<p>Добрый день, подскажите еще такой момент <br />Нужно проверять размер архива до скачки файла и после, если размер остался одинаковым то распаковку не производить. </p><p>Как выполнить проверку размера файла?<br />С использованием dir и for? <br />Сам скрипт выглядит уже вот так.<br /></p><div class="codebox"><pre><code>@echo off 
REM Основной каталог.
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=&quot;%PROGRAMFILES%\7-Zip\7z.exe&quot;
REM Укажим где лежит архив, он сохраняется в BASEDIR
SET ARHIVE=&quot;%PROGRAMFILES%\wget\%FILE%&quot;
REM Укажим куда извлечь файлы.
SET EXTRACT=&quot;D:\base\&quot;
SET BLAT=&quot;%PROGRAMFILES%\blat\blat.exe&quot;

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

:NORMAL
REM Запустим закачку.
&quot;%BASEDIR%%WGET%&quot; -t 10 -w 5 -nd -N -a -b %URL%%FILE% -o &quot;%BASEDIR%%LOG%&quot;

REM Проверим существует архив.
if exist %ARHIVE% (
         REM Выполним распоковку архива, если он существует.
         %UNPACK% e %ARHIVE% -o%EXTRACT% -y &gt;&gt; &quot;%BASEDIR%%LOG%&quot;
         %BLAT% -p admin -charset windows-1251 -subject &quot;Kladr was update %DATE%%TIME%&quot; -body &quot;Kladr was update %DATE%%TIME%&quot; -to email -attach &quot;%BASEDIR%%LOG%&quot;
    ) else (
    REM Если файл не существует запишем это.
    echo %ARHIVE% file is missing %DATE%%TIME% &gt;&gt; &quot;%BASEDIR%%LOG%&quot;
    )

:GOODBYE
:exit</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Valera)]]></author>
			<pubDate>Wed, 07 Mar 2012 06:49:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57587#p57587</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Загрузка файла с сайта с использованием wget]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=57570#p57570</link>
			<description><![CDATA[<p>Добрый день.</p><div class="codebox"><pre><code>@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=&quot;c:\Program Files\7-Zip\7z.exe&quot;
REM Укажим где лежит архив, он сохраняется в BASEDIR
SET ARHIVE=&quot;c:\Program Files\GnuWin32\bin\wgetgui.zip&quot;
REM Укажим куда извлечь файлы.
SET EXTRACT=&quot;c:\Program Files\GnuWin32\bin\wgetgui&quot;

REM Проверим существует ли файл по ссылке.
&quot;%BASEDIR%%WGET%&quot; -a -b --spider %URL%%FILE% -o &quot;%BASEDIR%%LOG%&quot;
if errorlevel 0 goto NORMAL 
if errorlevel 1 goto GOODBYE 

:NORMAL
REM Запустим закачку.
&quot;%BASEDIR%%WGET%&quot; -t 10 -w 5 -nd -N -a -b %URL%%FILE% -o &quot;%BASEDIR%%LOG%&quot;

REM Проверим существует архив.
if exist %ARHIVE% (
         REM Выполним распоковку архива, если он существует.
         %UNPACK% e %ARHIVE% -o%EXTRACT% -y &gt;&gt; &quot;%BASEDIR%%LOG%&quot;
    ) else (
    REM Если файл не существует запишем это.
    echo %ARHIVE% file is missing %DATE%%TIME% &gt;&gt; &quot;%BASEDIR%%LOG%&quot;
    echO ---END--- &gt;&gt; &quot;%BASEDIR%%LOG%&quot;
    )

:GOODBYE
exit</code></pre></div><p>Посоветуйте может, что улучшить или поправить. Замечания.</p><p>Вот этот кусок нормально не отрабатывает.<br /></p><div class="quotebox"><blockquote><p>REM Проверим существует ли файл по ссылке.<br />&quot;%BASEDIR%%WGET%&quot; -a -b --spider %URL%%FILE% -o &quot;%BASEDIR%%LOG%&quot;<br />if errorlevel 0 goto NORMAL <br />if errorlevel 1 goto GOODBYE</p></blockquote></div><p>Придется ввести проверку доступности ресурса, через ping к примеру, а потом нужно разбирать вывод команды wget --spider, т.к. она выводит существует файл или нет, выводит именно строку.</p>]]></description>
			<author><![CDATA[null@example.com (Valera)]]></author>
			<pubDate>Tue, 06 Mar 2012 14:35:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=57570#p57570</guid>
		</item>
	</channel>
</rss>
