2009-10-23 14:58:03 +0000 2009-10-23 14:58:03 +0000
124
124

Ist es möglich, über die Windows-Befehlszeile herunterzuladen?

Ist es möglich, über die Windows-Befehlszeile herunterzuladen, ohne nicht standardmäßige (Windows mitgelieferte) Dienstprogramme zu verwenden?

Die bevorzugte Version ist Windows XP, aber auch für neuere Versionen ist es interessant zu wissen.

Zur weiteren Klärung meiner Frage:

  • Es muss HTTP verwendet werden
  • Die Datei muss gespeichert werden
  • Standardmäßige saubere Windows-Installation, keine zusätzlichen Tools

Da also alle schreien Wget _, möchte ich im Grunde genommen eine einfache Wget-Funktionalität, ohne Verwendung von Wget.

Antworten (13)

74
74
74
2011-05-16 09:13:14 +0000

Beginnend mit Windows 7 glaube ich, dass es eine einzige Methode gibt, die noch nicht erwähnt wurde, die einfach ist:

Syntax:

bitsadmin /transfer _job\_name_ /download /priority _priority __URL__ local\path\file_

Beispiel:

bitsadmin /transfer mydownloadjob /download /priority normal ^ http://example.com/filename.zip C:\Users\_username_\Downloads\filename.zip

(Zur besseren Lesbarkeit (um Scrollen zu vermeiden) in zwei getrennte Zeilen mit ^ gebrochen. )

Warnung: Wie in den Kommentaren erwähnt, beginnt die Hilfemeldung bitsadmin mit:

BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows.
Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.

… aber ein anderer Kommentar berichtete, dass sie unter Windows 8 funktioniert.

40
40
40
2009-10-23 15:27:20 +0000

Windows 7 enthält PowerShell, und es gibt so gut wie nichts, was Sie mit PowerShell nicht tun können. Native Alternative zu wget in Windows PowerShell?

25
25
25
2014-05-29 02:22:34 +0000

PowerShell (in Windows 8 enthalten und bei früheren Versionen in .NET enthalten) verfügt über diese Fähigkeit. Der Befehl powershell ermöglicht die Ausführung beliebiger PowerShell-Befehle über die Befehlszeile oder eine .bat-Datei. Die folgende Zeile ist also erwünscht:

powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"
17
17
17
2009-10-23 15:12:44 +0000

Ich habe einen Weg gefunden, es zu tun, aber wirklich, installieren Sie einfach Wget .

Sie können Internet Explorer von einer Befehlszeile aus verwenden (iexplore.exe) und dann eine URL als Argument eingeben. Führen Sie also aus:

iexplore.exe http://blah.com/filename.zip

Was auch immer die Datei ist, Sie müssen angeben, dass sie nicht im Voraus bestätigt werden muss. Und siehe da, der Download wird automatisch durchgeführt. Also ja, es ist technisch möglich, aber guter Gott, machen Sie es auf eine andere Art und Weise.

12
12
12
2011-08-08 15:18:28 +0000

Windows Explorer (nicht zu verwechseln mit Internet Explorer) kann Dateien über HTTP herunterladen. Geben Sie einfach die URL in die Adressleiste ein. Oder von der Befehlszeile aus, zum Beispiel C:\windows\explorer.exe http://somewhere.com/filename.ext.

Sie erhalten die klassische Eingabeaufforderung Dateidownload. Es sei denn, es handelt sich bei der Datei um einen Typ, den der Windows-Explorer inline darzustellen weiß (.html, .jpg, .gif); in diesem Fall müssten Sie dann mit der rechten Maustaste klicken, um sie zu speichern.

Ich habe dies gerade auf meinem VMware -Image einer Neuinstallation von Windows XP 2002 SP1 getestet, und es funktioniert einwandfrei.

7
7
7
2016-05-10 14:10:22 +0000

Sie können (in einer Standard-Windows-Fledermaus) verwenden:

powershell -command "& { iwr http://www.it1.net/it1_logo2.jpg -OutFile logo.jpg }"

Es scheint PowerShell v4 zu erfordern…

(Dank diesem Kommentar und diesem )

6
6
6
2009-10-23 15:01:06 +0000

Verwenden Sie FTP.

Von der Befehlszeile aus:

ftp ftp.somesite.com
user
password

usw. FTP ist in jeder Windows-Version enthalten, an die ich mich erinnern kann; wahrscheinlich nicht in 3.1, vielleicht nicht in Windows 95 , aber sicherlich alles danach.

@RM: Es wird schwierig, wenn Sie keine anderen Tools herunterladen wollen. Es gibt eine Befehlszeile Wget für Windows , und Wget ist dazu gedacht, genau das zu tun, was Sie verlangen.

4
4
4
2013-04-21 21:55:08 +0000

Verwenden Sie PowerShell wie folgt:

  1. Erstellen Sie eine Datei download.ps1:

  2. Jetzt können Sie eine Datei wie diese herunterladen:

1
1
1
2009-10-23 15:01:33 +0000

Wenn Sie Telnet installieren, könnten Sie vermutlich eine HTTP-Anforderung an einen Server stellen, um eine Datei herunterzuladen.

Sie können auch Cygwin installieren und wget verwenden, um ebenfalls eine Datei herunterzuladen. Dies ist eine sehr einfache Möglichkeit, Dateien von der Befehlszeile herunterzuladen.

1
1
1
2017-12-16 21:25:25 +0000

Die Datei kann über folgende Methode heruntergeladen werden

bitsadmin /transfer wcb /priority high https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\Program Files (x86)\Dell Update\Agenda21.pdf

1
1
1
2011-08-20 03:22:58 +0000

Es gibt einige Möglichkeiten, die Sie über die Befehlszeile in Windows herunterladen können:

  1. Sie können Cygwin .

verwenden 2. Mit Telnet ist es möglich, eine Anfrage zu stellen, aber Sie werden keine Verarbeitung sehen:

  1. Sie können bat- oder VBS-Skripte schreiben.

  2. Sie können Ihr eigenes Programm schreiben, das Sie von cmd.exe aus ausführen können.

0
0
0
2014-08-29 23:15:15 +0000

Wenn Sie Python installiert haben, finden Sie hier ein Beispiel, das die get-pip.py aus dem Web holt

python -c "import urllib; urllib.urlretrieve ('https://bootstrap.pypa.io/get-pip.py', r'C:\python27\Tools\get-pip.py')"
0
0
0
2009-10-23 15:04:59 +0000

In Standard-Windows können Sie nicht über HTTP herunterladen. Windows ist ein GUI-zentriertes Betriebssystem, daher fehlen viele der Kommandozeilen-Tools, die man in anderen Betriebssystemen findet, wie z.B. wget, das der Hauptkandidat wäre.

System.Net.WebClient.DownloadFile(), eine Funktion in der WiniNet-API, kann Dateien herunterladen, aber ich bin mir nicht sicher, wie weit man bei der tatsächlichen Entwicklung im Vergleich zu einer Batch-Datei kommt.