Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Если файл размером 0, выполнить предыдущую команду.

Ответить
Настройки темы
CMD/BAT - [решено] Если файл размером 0, выполнить предыдущую команду.

Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


Здравствуйте! Подскажите пожалуйста по одному интересному моменту.
С помощью wget (в пакетнике) сделал я закачку антивирусного сканера Dr.Web. Закинул его в планировщик винды, и он раз в сутки перезаписывает (так сказать обновляет) сканер. Всё казалось бы хорошо. Но бывает (не каждый день, но бывает) смотришь с утра, а wget по неизвестным причинам не может полностью закачать Dr.Web CureIt!.exe , а вместо него лежит тот же Dr.Web CureIt!.exe только размером 0.
Отсюда вопрос. Возможно ли с помощью команд сделать так, что в случае появления пустышки с нулём, пакетник перезапустил бы выполнение задачи загрузки сканера?
Код у меня такой:
Код: Выделить весь код
@Echo off
set day=%DATE:~0,2%
set month=%DATE:~3,2%
set year=%DATE:~6,4%
wget -O "%~dp0\Dr.Web CureIt! [%day%.%month%.%year%].exe" http://download.geo.drweb.com/pub/drweb/cureit/cureit.exe --no-cache --no-dns-cache --continue --tries=10 --timeout=120
del /Q "D:\ANTIVIRUS SCANNER\Dr.Web CureIt!*.exe"
move /y "%~dp0\Dr.Web CureIt!*.exe" "D:\ANTIVIRUS SCANNER"
Как только не бадался я с wget. И --continue , и --tries=10 дописал, но всё равно в загрузке бывает сбой, и появляется нулёвка ((

Отсюда и возникла мысль возможной перепроверки закачки и в случае нулёвки повторить загрузку.

Если кто знает как это сделать, подскажите пожалуйста.
Спасибо.

Отправлено: 11:20, 23-04-2019

 

Ветеран


Сообщения: 2182
Благодарности: 720

Профиль | Отправить PM | Цитировать


Freddy1984, попробуйте с ключом -N

Отправлено: 12:11, 23-04-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


попробовал, пишет: WARNING: timestamping does nothing in combination with -O

то есть -O не совместим с timestamping

Отправлено: 12:41, 23-04-2019 | #3


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Если вдуматься, "нулёвка" - это частный случай неполного/повреждённого файла. И решать стоит этот общий случай: проверять хэш или цифровую подпись.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:45, 23-04-2019 | #4


Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


Цитата Busla:
проверять хэш или цифровую подпись. »
нашел некий пример. как считаете, его вообще можно как то совместить со всем моим вышеизложенным??
Код: Выделить весь код
wget ftp://yourfile.zip && wget ftp://yourfile.zip.md5 && md5sum -c *.md5

  или

wget ftp://yourfile{.zip,.zip.md5} && md5sum -c *.md5

  или

wget -q -O- http://example.com/your_file | md5sum | sed 's:-$:local_file:' | md5sum -c

Последний раз редактировалось Freddy1984, 23-04-2019 в 13:20.


Отправлено: 12:54, 23-04-2019 | #5


Ветеран


Сообщения: 2182
Благодарности: 720

Профиль | Отправить PM | Цитировать


Цитата Freddy1984:
то есть -O не совместим с timestamping »
Ну так и уберите его. Попробуйте так
Код: Выделить весь код
wget -N -P "%~dp0\Dr.Web CureIt" http://download.geo.drweb.com/pub/drweb/cureit/cureit.exe"

Отправлено: 13:28, 23-04-2019 | #6


Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


Цитата sov44:
Ну так и уберите его. Попробуйте так »
ок, просто не совсем ясно как сравнение по дате загрузки (он же -N ) может повлиять на вероятное появление нулёвки...

Отправлено: 13:36, 23-04-2019 | #7


Ветеран


Сообщения: 2182
Благодарности: 720

Профиль | Отправить PM | Цитировать


Freddy1984, ключ -N обновляет скачанный файл, нулевой файл должен замениться на полный.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:00, 23-04-2019 | #8


Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


Цитата sov44:
ключ -N обновляет скачанный файл »
ну ок, я такого описания в док. не нашел. спасибо.

Отправлено: 14:02, 23-04-2019 | #9


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Я бы сначала загружал файл в некоторое место, и только затем, только в случае удачной загрузки — копировал его заместо старого.

Отправлено: 17:11, 23-04-2019 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Если файл размером 0, выполнить предыдущую команду.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] если файл существует, выполнить Alexander_88 Скриптовые языки администрирования Windows 5 01-07-2018 13:54
CMD/BAT - Как выполнить команду с BAT-ника? MOWGLY1 Скриптовые языки администрирования Windows 3 29-07-2014 14:45
CMD/BAT - Выполнить команду при загрузке MupkyJI Скриптовые языки администрирования Windows 1 01-09-2013 08:17
CMD/BAT - [решено] выполнить команду определеное количество раз systemroot Скриптовые языки администрирования Windows 5 05-09-2011 19:25
Как выполнить команду после установки связи по PPP Rus1 Сетевые технологии 3 01-03-2004 22:53




 
Переход