|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] wget |
|
CMD/BAT - [решено] wget
|
Ветеран Сообщения: 2196 |
|
|
Отправлено: 16:38, 01-10-2011 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать sov44, поскольку ошибки при этом не возникает (2.12 Exit Status), на мой взгляд, самый надёжный способ — посчитать контрольную сумму локального файла до вызова wget и после (File Checksum Integrity Verifier, Sigcheck, FSUM или скриптом на WSH/PoSH), Затем сравнить.
P.S. Можно, конечно, попробовать сравнивать дату/время до и после, поиграться с атрибутами и т.п. Но контрольная сумма — надёжнее. |
Отправлено: 17:08, 01-10-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Iska, а если как то попытаться выловить в командной строке wget строчку, что файл уже скачан и от неё пробовать, чтобы не пользоваться сторонним софтом?
|
Отправлено: 17:57, 01-10-2011 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать sov44, конечно, можно. Но тут хорошо бы посмотреть в исходный код wget, дабы убедиться в единственности данного сообщения. А так — например, вот:
@echo off setlocal enableextensions enabledelayedexpansion ("%ProgramFiles%\WGet\wget.exe" --timestamping "http://download.sysinternals.com/Files/Sigcheck.zip" 2>&1 |^ findstr.exe /r /c:"^Server file no newer than local file .* -- not retrieving.$" >nul) && ( echo Skipping ) || ( echo Not skipping ) endlocal exit /b 0 |
Отправлено: 20:55, 01-10-2011 | #4 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Iska, Спасибо! Именно то, что и нужно. Запуск прикручу.
@echo off setlocal enableextensions enabledelayedexpansion (wget -N http://giskirov.ru/download/download.php?book=3 2>&1 |^ findstr.exe /r /c:"^Server file no newer than local file .* -- not retrieving.$" >nul) && ( echo Обновления файла нет ) || ( echo Файл скачан и обновлён ) endlocal pause exit /b 0 |
|
Отправлено: 21:22, 01-10-2011 | #5 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Упаковал в rar sfx батник рядом со скриптом установки программы. Программа скачалась в %temp% и и от туда установилась. Подскажите, как скаченную программу ( из %temp% ) скопировать в директорию, из которой был запущен rar sfx?
|
Отправлено: 00:47, 02-10-2011 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата sov44:
Цитата Iska:
Надо: 1. Отследить код возврата wget. 2. Если он нулевой — тогда уже имеет смысл проверять выдачу wget на наличие текста о пропуске загрузки, наподобие: @echo off setlocal enableextensions enabledelayedexpansion set sURL=http://download.sysinternals.com/Files/Sigcheck.zip call :GetTemporaryName >"%TemporaryName%" 2>&1 "%ProgramFiles%\WGet\wget.exe" --timestamping "%sURL%" && ( findstr.exe /r /c:"^Server file no newer than local file .* -- not retrieving.$" "%TemporaryName%" >nul && ( echo Download Skipping ) || ( echo Download OK ) ) || ( echo Download Error ) del /f /q "%TemporaryName%" endlocal exit /b 0 rem ========================================================================== rem ========================================================================== rem Функция GetTemporaryName() rem rem Серый форум / CMD/BAT: генерация пути для временного файла или папки rem (http://forum.script-coding.com/viewtopic.php?id=6259) rem ========================================================================== :GetTemporaryName setlocal enableextensions enabledelayedexpansion :NextName set sTempName=%temp%\temp%random%.tmp if exist "%sTempName%" goto :NextName set sProcName=%~0 endlocal & set %sProcName:~4%=%sTempName% exit /b 0 rem ========================================================================== |
||
Отправлено: 10:11, 02-10-2011 | #7 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Iska, на Вашем примере не могу отследить переменную пути, откуда запущен rar sfx
|
Отправлено: 14:44, 02-10-2011 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать sov44, Вам и не надо отслеживать. Используйте параметр «--directory-prefix="<Путь для сохранения>"» в командной строке wget (Проект OpenNet: MAN wget (1) Команды и прикладные программы пользовательского уровня (FreeBSD и Linux)).
|
Отправлено: 18:24, 02-10-2011 | #9 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 07:06, 04-10-2011 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - wget | Vadikan | Программное обеспечение Windows | 14 | 04-06-2012 03:55 | |
Установка из портов через PROXY (wget нету в настройках) | kaEwituS | Общий по FreeBSD | 16 | 02-05-2009 21:19 | |
Wget разбил скачиваемый ISO файл на две части, как теперь склеить? | sfap | Программное обеспечение Linux и FreeBSD | 2 | 23-11-2007 12:44 | |
как пользоваться wget | ptt | Хочу все знать | 4 | 21-02-2004 01:06 | |
Wget | Michelleq3 | Программное обеспечение Linux и FreeBSD | 6 | 30-10-2003 22:39 |
|