Wie kann ich Dateien in Powershell mit URLs mit zwei variablen Nummern massenweise herunterladen?

583
Vítor Dias

Ich muss eine große Anzahl (Hunderttausende) von Dateien von der Website http://www.siaapm.cultura.mg.gov.br/acervo/memorial_imprensa/ herunterladen, und das URL-Muster ist http: //www.siaapm .cultura.mg.gov.br / acervo / memorial_imprensa / 1 / 1.jpg . Daher brauche ich eine Massenlösung, die zwei Nummernbereiche umfasst: Ordner und Datei. Wie kann dies in Windows PowerShell durchgeführt werden?

Bisher habe ich es ausprobiert:

$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 

Alle Lösungen, die ich bisher gefunden habe, befassten sich nur mit Variationen im Dateinamen, nicht aber im Ordner.

-2
Bitte beachten Sie, dass https://superuser.com kein kostenloser Skript- / Code-Schreibservice ist. Wenn Sie uns sagen, was Sie bisher versucht haben (einschließlich der Skripts / des Codes, die Sie bereits verwenden) und wo Sie stecken bleiben, können wir versuchen, bei bestimmten Problemen zu helfen. Sie sollten auch lesen [Wie kann ich eine gute Frage stellen?] (Https://superuser.com/help/how-to-ask). DavidPostill vor 7 Jahren 2
Es tut uns leid! Ich habe vergessen zu posten, was ich bisher ausprobiert habe, um richtige Hilfe zu erhalten. Danke für den Hinweis! Vítor Dias vor 7 Jahren 0

1 Antwort auf die Frage

0
Cory Knutson

Was Sie suchen, ist $edicao = 0..100000. Dadurch wird ein Array erstellt, das den Bereich von 0 bis 100000 enthält. Ändern Sie die ersten beiden Zeilen dieses Layouts. Die nächste Ausgabe führt eine Foreach-Object-Schleife durch, um jeden Fall zu durchlaufen:

$edicao | Foreach-Object { #do work }