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

Ответить
Аватара пользователя
alexmoreman

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

Сообщение alexmoreman »

Доброго времени суток!

Задался задачей скачать файлы в пакетном режиме с помощью 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
Аватара пользователя
amel27

Re: CMD/BAT - [решено] реализация скачивания в пакетном режиме

Сообщение amel27 »

Цитата alexmoreman:



в этот набор не входит программа seq
CMD/BAT - [решено] реализация скачивания в пакетном режиме




есть в комплекте
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
Аватара пользователя
alexmoreman

Re: CMD/BAT - [решено] реализация скачивания в пакетном режиме

Сообщение alexmoreman »

спасибо очень помогло!

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

и чтобы при повторе названия файла была переименовка

если не трудно есть ли какие еще мысли?
Аватара пользователя
alexmoreman

Re: CMD/BAT - [решено] реализация скачивания в пакетном режиме

Сообщение alexmoreman »

Цитата alexmoreman:



надобно чтобы возможно было задавать диапазон номера директорий.

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




слишком туманно для конкретных мыслей... ;)
Аватара пользователя
alexmoreman

Re: CMD/BAT - [решено] реализация скачивания в пакетном режиме

Сообщение alexmoreman »

вот ссылка с диапазоном номера файла



Код:

Код: Выделить всё

%%i in (6001,1,6746) - диапазон
http://civil-reprint.consultant.ru/images/3/00.png/0000.png/%%$i:~-9%%.png

вот еще для папки думаю

типа

%%i in (001,1,150)

да и еще вопрос, переименовка повторяющихся в названии файлах возможна?
Аватара пользователя
amel27

Re: CMD/BAT - [решено] реализация скачивания в пакетном режиме

Сообщение amel27 »

Цитата alexmoreman:



переименовка повторяющихся в названии файлах возможна?
CMD/BAT - [решено] реализация скачивания в пакетном режиме




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




Цитата alexmoreman:



%%i in (001,1,150)
CMD/BAT - [решено] реализация скачивания в пакетном режиме




так нельзя - только так: "%%i in (1,1,150)", нолики потом можно дорисовать (как в примере)
Аватара пользователя
alexmoreman

Re: CMD/BAT - [решено] реализация скачивания в пакетном режиме

Сообщение alexmoreman »

подскажите пожалуйста как еще присобачить "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

или как то иначе.

У меня не получается.
Аватара пользователя
amel27

Re: CMD/BAT - [решено] реализация скачивания в пакетном режиме

Сообщение amel27 »

Цитата alexmoreman:



чтобы ссылка вида такого стала
CMD/BAT - [решено] реализация скачивания в пакетном режиме




нужно немного подправить :



Код:

Код: Выделить всё

call wget "http://civil-reprint.consultant.ru/images/3/00.png/0000.png/%%$i:~-9%%.png -O %%random%%.png"
Ответить

Вернуться в «Скриптовые языки администрирования Windows»