Downloads mit Windows Batch

In Unix und Linux gibt es curl und wget. Windows stellt auf den ersten Blick keine entsprechenden Alternativen bereit. Natürlich gibt es beide GNU-Tools auch für Windows zum Download; mit dem Background Intelligent Transfer Service (BITS) kann man jedoch auch in Windows Downloads auf der Konsole durchführen, ohne dass dafür zusätzliche Tools nötig sind.

Download-Job erstellen

Zuerst muss ein Download-Job erstellt werden:

C:\> bitsadmin /create cmddownload

BITSADMIN version 3.0
BITS administration utility.
(C) Copyright Microsoft Corp.

Created job {2E00A773-7DE8-4EA1-9520-150C99676ECD}.

Der Jobname (hier cmddownload) muss eindeutig sein, es kann eine beliebige alphanumerische Zeichenfolge genutzt werden.

Download hinzufügen

Einzelne Dateien fügt man nun so in den Job hinzu:

C:\> bitsadmin /addfile cmddownload http://heikorichter.name/robots.txt c:\robots.txt

BITSADMIN version 3.0
BITS administration utility.
(C) Copyright Microsoft Corp.

Added http://heikorichter.name/robots.txt -> c:\robots.txt to job.

Alternativ kann man auch gleich mehrere Dateien hinzufügen, die in einer Textdatei gelistet sind:

C:\> bitsadmin /addfileset cmddownload bits.txt

BITSADMIN version 3.0
BITS administration utility.
(C) Copyright Microsoft Corp.

remote name: https://heikorichter.name/robots.txt, local name: c:\robots.txt.
remote name: https://heikorichter.name/ads.txt, local name: c:\ads.txt.
remote name: https://heikorichter.name/style.css, local name: c:\style.css.
3 file(s) read from bits.txt.
Added 3 files to the job.

In der Textdatei (hier bits.txt) müssen einfach nur Quelle und Ziel, getrennt durch ein Leerzeichen gelistet werden:

https://heikorichter.name/robots.txt c:\robots.txt
https://heikorichter.name/ads.txt c:\ads.txt
https://heikorichter.name/style.css c:\style.css

Job starten

Hat man alle Downloads zum Job hinzugefügt, muss er noch gestartet werden:

C:\> bitsadmin /resume cmddownload

BITSADMIN version 3.0
BITS administration utility.
(C) Copyright Microsoft Corp.

Job resumed.

Job beenden

Abschließend wird der Download-Job noch beendet:

C:\> bitsadmin /complete cmddownload

BITSADMIN version 3.0
BITS administration utility.
(C) Copyright Microsoft Corp.

Job completed.

Alternativ kann man auch einfach alle Jobs beenden:

C:\> bitsadmin /reset

BITSADMIN version 3.0
BITS administration utility.
(C) Copyright Microsoft Corp.

{C34CD869-AC66-484E-A9F1-0A4B634A1035} canceled.
1 out of 1 jobs canceled.

Statusabfrage

Natürlich ist es möglich, den Status laufender Jobs abzufragen.

Der Parameter /monitor zeigt alle offenen Jobs an. Die Anzeige wird automatisch alle 5 Sekunden aktualisiert.

C:\> bitsadmin /monitor

MONITORING BACKGROUND COPY MANAGER(5 second refresh)
{C34CD869-AC66-484E-A9F1-0A4B634A1035} 'cmddownload' SUSPENDED 0 / 1 0 / UNKNOWN

Der Parameter /info zeigt lediglich den Status für einen spezifischen Job an:

C:\>bitsadmin /info cmddownload

BITSADMIN version 3.0
BITS administration utility.
(C) Copyright Microsoft Corp.

{C34CD869-AC66-484E-A9F1-0A4B634A1035} 'cmddownload' SUSPENDED 0 / 1 0 / UNKNOWN

Kommentar hinterlassen