Как выполнить массовую загрузку файлов в Powershell с URL-адресами с двумя переменными числами?

445
Vítor Dias

Мне нужно загрузить большое количество (сотни тысяч) файлов с веб-сайта http://www.siaapm.cultura.mg.gov.br/acervo/memorial_imprensa/, а шаблон URL - http: //www.siaapm. .cultura.mg.gov.br / acervo / memorial_imprensa / 1 / 1.jpg . Поэтому мне нужно массовое решение, которое включает два диапазона номеров: папка и файл. Как это можно сделать в Windows PowerShell?

Итак, вот что я попробовал:

$edicao = [0-100000] $pagina = [0-300000] $url = "http://www.siaapm.cultura.mg.gov.br/acervo/memorial_imprensa/$edicao/$pagina.jpg" $output = "C:\APM\$edicao-$pagina.jpg" Import-Module BitsTransfer Start-BitsTransfer -Source $url -Destination $output 

Все решения, которые я нашел до сих пор, касались изменений только в имени файла, а не в папке.

-2
Обратите внимание, что https://superuser.com не является бесплатным сервисом для написания скриптов / кодов. Если вы сообщите нам, что вы уже пробовали (включая скрипты / код, который вы уже используете) и где вы застряли, мы можем попытаться помочь с конкретными проблемами. Вам также следует прочитать [Как мне задать хороший вопрос?] (Https://superuser.com/help/how-to-ask). DavidPostill 7 лет назад 2
Сожалею! Я забыл опубликовать то, что я пробовал до сих пор, чтобы я мог получить надлежащую помощь. Спасибо за совет! Vítor Dias 7 лет назад 0

1 ответ на вопрос

0
Cory Knutson

То, что вы ищете, это $edicao = 0..100000. Это создаст массив, содержащий диапазон от 0 до 100000. Измените первые две строки на этот макет. Следующая проблема заключается в выполнении цикла Foreach-Object для итерации каждого случая:

$edicao | Foreach-Object { #do work } 

Похожие вопросы