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

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

Ответить
Настройки темы
CMD/BAT - [решено] реализация скачивания в пакетном режиме

Новый участник


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

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


Доброго времени суток!
Задался задачей скачать файлы в пакетном режиме с помощью wget
kfpbk по сети и нашол лишь один пример но он под линукс
Код: Выделить весь код
#!/bin/bash
for i in `seq 1 746` ; do
wget http://civil-reprint.consultant.ru/images\
/3/00.png/0000.png/000006`printf "%.3d" $i`.png
done
там же далее и про винду
цитирую:

Можно использовать bash из набора утилит unix, собранных под Win32. Этим утилитам для работы не требуются CygWin или MinGW. Однако в этот набор не входит программа seq, зато в эту версию bash встроена программа проверки условий, поэтому командный файл придется переписать следующим образом:

Код: Выделить весь код
#!/bin/bash
let n=1
while [ "$n" -le 746 ] ; do
wget http://civil-reprint.consultant.ru/images\
/3/00.png/0000.png/000006`printf "%.3d" $n`.png
let n=n+1
done
скачал этот набор но один фиг не получается.
для примера ссылки вида
от civil-reprint.consultant.ru/images/3/00.png/0000.png/000006001.png
до civil-reprint.consultant.ru/images/3/00.png/0000.png/000006746.png

Отправлено: 11:19, 18-11-2010

 

Googler


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

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


Цитата alexmoreman:
в этот набор не входит программа seq »
есть в комплекте GNU для Windows, но можно и штатными средствами BAT/CMD:
Код: Выделить весь код
@for /l %%i in (6001,1,6746) do @(
  set "$i=000000000%%i"
  call wget "http://civil-reprint.consultant.ru/images/3/00.png/0000.png/%%$i:~-9%%.png"
)
P.S. всё же для закачки файлов CURL лучше подходит, чем WGET
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:56, 18-11-2010 | #2



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

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


Новый участник


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

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


спасибо очень помогло!
буду дальше разбираться, надобно чтобы возможно было задавать диапазон номера директорий.
и чтобы при повторе названия файла была переименовка
если не трудно есть ли какие еще мысли?

Отправлено: 12:12, 18-11-2010 | #3


Googler


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

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


Цитата alexmoreman:
надобно чтобы возможно было задавать диапазон номера директорий.
и чтобы при повторе названия файла была переименовка »
слишком туманно для конкретных мыслей... ;)

Отправлено: 12:20, 18-11-2010 | #4


Новый участник


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

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


вот ссылка с диапазоном номера файла
Код: Выделить весь код
%%i in (6001,1,6746) - диапазон
http://civil-reprint.consultant.ru/images/3/00.png/0000.png/%%$i:~-9%%.png
вот еще для папки думаю
типа
%%i in (001,1,150)
да и еще вопрос, переименовка повторяющихся в названии файлах возможна?

Отправлено: 12:25, 18-11-2010 | #5


Googler


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

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


Цитата alexmoreman:
переименовка повторяющихся в названии файлах возможна? »
в общем случае - почему бы и нет, в каждом конкретном - зависит от постановки задачи... по одному URL вроде как не должно быть два файла с одним именем... если мы заказываем конкретный линк, то нам априори известно имя файла и проверить/переименовать дело техники (опять же, смотря по какому правилу переименовывать)

Цитата alexmoreman:
%%i in (001,1,150) »
так нельзя - только так: "%%i in (1,1,150)", нолики потом можно дорисовать (как в примере)
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:46, 18-11-2010 | #6


Новый участник


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

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


подскажите пожалуйста как еще присобачить "random"
тоесть скачивается файл с именами 0017 по 0080.jpg
перехожу к следующей папке а там тоже такие имена имеются
ивот как присобачить на примере вот этом: за что большьшое спасибо Amel27
Код: Выделить весь код
@for /l %%i in (6001,1,6746) do @(
  set "$i=000000000%%i"
  call wget "http://civil-reprint.consultant.ru/images/3/00.png/0000.png/%%$i:~-9%%.png"
)
чтобы ссылка вида такого стала

Код: Выделить весь код
  call wget "http://civil-reprint.consultant.ru/images/3/00.png/0000.png/%%$i:~-9%%.png -O %random%.png"
и на выходе произвольное имя файла вроде 567477.png
или как то иначе.
У меня не получается.

Отправлено: 14:50, 18-11-2010 | #7


Googler


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

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


Цитата alexmoreman:
чтобы ссылка вида такого стала »
нужно немного подправить :
Код: Выделить весь код
call wget "http://civil-reprint.consultant.ru/images/3/00.png/0000.png/%%$i:~-9%%.png -O %%random%%.png"
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:49, 19-11-2010 | #8



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Реализация Zoom`а в Borland C++ Builder DaRiYs Программирование и базы данных 2 21-12-2009 02:12
Реализация конвейера на Си! NEED HELP! st031 Программирование в *nix 2 24-01-2009 10:57
C/C++ - Реализация формулы... ganselo Программирование и базы данных 1 20-01-2009 19:38
Разное - Ситема терминалов (реализация) piling Microsoft Windows 2000/XP 2 13-02-2008 22:52
CMD/BAT - [решено] как отличить в пакетном файле XP от 2003 akrav Скриптовые языки администрирования Windows 4 14-01-2008 13:46




 
Переход