2009-08-19 11:40:48 +0000 2009-08-19 11:40:48 +0000
372
372

Wie kann ich Dateien von der Kommandozeile in Windows wie wget oder curl herunterladen

Wie kann ich etwas direkt aus dem Web herunterladen, ohne dass Internet Explorer oder Firefox den Acrobat Reader/Quicktime/MS Word/was auch immer öffnet?

Ich benutze Windows, also würde eine Windows-Version von Wget ausreichen.

Antworten (19)

323
323
323
2011-09-01 13:25:11 +0000

Eine Alternative, die ich vor kurzem entdeckt habe, mit PowerShell:

$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt")

Es funktioniert auch mit GET-Abfragen.

Wenn Sie Anmeldeinformationen zum Herunterladen der Datei angeben müssen, fügen Sie die folgende Zeile dazwischen ein:

$client.Credentials = Get-Credential

Eine Standard-Windows-Anmeldeaufforderung wird eingeblendet. Die Zugangsdaten, die Sie dort eingeben, werden zum Herunterladen der Datei verwendet. Sie müssen dies für die gesamte Zeit, in der Sie das $client-Objekt verwenden werden, nur einmal tun.

187
187
187
2009-08-19 11:45:59 +0000

Wget für Windows sollte funktionieren.

Aus der Wget Wiki FAQ :

GNU Wget ist ein freies Netzwerkdienstprogramm zum Abrufen von Dateien aus dem World Wide Web unter Verwendung von HTTP und FTP, den beiden am weitesten verbreiteten Internetprotokollen. Es arbeitet nicht interaktiv und ermöglicht so die Arbeit im Hintergrund, nachdem man sich abgemeldet hat.

Von diesem Abschnitt der FAQ werden Download-Links vorgeschlagen:

Windows Binaries

Link mit freundlicher Genehmigung von Jernej Simončič wird stattdessen verwendet.

95
95
95
2014-05-17 19:15:46 +0000

Wenn Sie PowerShell >= 3.0 haben, können Sie uns Webanfrage aufrufen

Invoke-WebRequest -OutFile index.html http://superuser.com
iwr -outf index.html http://superuser.com

Oder Golf spielen

&001 Datei über HTTP in Windows herunterladen

64
64
64
2011-12-30 17:40:02 +0000

Windows hat sein eigenes Befehlszeilen-Download-Dienstprogramm - BITSAdmin :

BITSAdmin ist ein Befehlszeilen-Tool, mit dem Sie Download- oder Upload-Aufträge erstellen und deren Fortschritt überwachen können.

EDIT : 26.01.15_ - Hier ist mein Überblick darüber, wie eine Datei unter Windows ohne externe Tools heruntergeladen werden kann

Und ein vollständiges Bitsadmin-Beispiel:

bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:0mb.zip

Bearbeiten : 15.05.2018_ - es stellte sich heraus, dass es möglich ist, eine Datei auch mit Certutil herunterzuladen :

certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip

Certutil ist unter XP/Win2003 nicht standardmäßig installiert, aber unter den neueren Windows-Versionen verfügbar, für XP/2003 benötigen Sie das Admin Tool Pack für Windows Server 2003

33
33
33
2013-01-15 07:03:23 +0000

Speichern Sie den folgenden Text als wget.js und rufen Sie einfach

cscript /nologo wget.js http://example.com

Dies ist der Code:

var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
WinHttpReq.Open("GET", WScript.Arguments(0), /*async=*/false);
WinHttpReq.Send();
WScript.Echo(WinHttpReq.ResponseText);

/* To save a binary file use this code instead of previous line
BinStream = new ActiveXObject("ADODB.Stream");
BinStream.Type = 1;
BinStream.Open();
BinStream.Write(WinHttpReq.ResponseBody);
BinStream.SaveToFile("out.bin");
*/
22
22
22
2013-03-02 13:30:36 +0000

Ich habe eine schnelle myGet.bat-Datei erstellt, die die oben beschriebene PowerShell-Methode aufruft.

@Echo OFF
SetLocal EnableDelayedExpansion
Set Var=%1
Set Var=!Var:http://=!
Set Var=!Var:/=,!
Set Var=!Var:%%20=?!
Set Var=!Var: =?!
Call :LOOP !var!
Echo.Downloading: %1 to %~p0!FN!
powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('%1','%~p0!FN!')
GoTo :EOF
:LOOP
If "%1"=="" GoTo :EOF
Set FN=%1
Set FN=!FN:?= !
Shift
GoTo :LOOP

Ich habe mir etwas Code von Parsing URL für Dateiname mit Leerzeichen _ ausgeliehen.

22
22
22
2012-10-27 14:16:23 +0000

Es ist ein natives cURL für Windows verfügbar hier . Es sind viele Varianten verfügbar - mit und ohne SSL-Unterstützung.

Sie brauchen nicht den zusätzlichen Ballast von Cygwin und dergleichen, sondern nur eine kleine EXE-Datei.


** Es ist auch wichtig zu wissen, daß es sowohl wget als auch curl Aliase gibt, die in alle modernen Versionen von Windows Powershell eingebaut sind. Sie sind äquivalent.**

** Es sind keine zusätzlichen Dateien oder Downloads erforderlich, um die Funktionalität von wget zu erhalten:** Using Curl In Powershell (The Sociable Geek)

Auszug:

Sie können einen cURL-Befehl wie einen eingeben, der eine Datei aus einem GitHub-Repository herunterlädt.

curl http://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json

und es wird so aussehen, als ob es funktioniert, aber was es tatsächlich tut, ist einfach cURL als Alias zu verwenden. Im obigen Fall erhalten Sie nur die Kopfzeilen und nicht die Datei selbst.

Aliase in PowerShell ermöglichen es Ihnen, Verknüpfungen für längere Befehle zu erstellen, so dass Sie diese nicht ständig eingeben müssen.

Wenn Sie den Befehl Get-Alias eingeben, erhalten Sie eine Liste aller Aliase, die in PowerShell verwendet werden. Wie Sie sehen können, ruft der curl-Befehl lediglich den Befehl Invoke-WebRequest auf. Sie sind ähnlich, aber nicht gleich, weshalb die obige Anfrage bei uns nicht funktioniert.

Damit dies in PowerShell richtig funktioniert, ist es am einfachsten, Variablen und das Argument -OutFile zu verwenden, wie hier gezeigt:

(Dateiname im Bild abgeschnitten https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy. json “)

Diese Syntax lädt den gesamten Inhalt der Zieldatei azuredeploy.json in die lokale Datei newfile.json


Der Hauptvorteil ist, dass sie in Powershell selbst eingebaut ist, so dass dieser Code direkt ausgeführt wird, ohne dass Downloads oder andere zusätzliche Dateierstellungen erforderlich sind, damit er auf jeder modernen Version von Windows funktioniert.

8
8
8
2013-04-09 08:13:58 +0000

Ich suchte dasselbe, und da ich keine Berechtigung hatte, eines der obigen Pakete zu installieren, suchte ich nach einer kleinen Abhilfe (um 30+ Dateien herunterzuladen):

  • Ich erstellte eine Batch-Datei
  • Listete alle Dateien auf
  • Setzte firefox.exe an den Anfang jeder Zeile
  • Ging zum Firefox-Verzeichnis in Program Files
  • führte es aus.
4
4
4
2017-02-01 14:06:11 +0000

Sie könnten auch die in PowerShell verpackten wget verwenden. ;^) Zum Öffnen drücken Sie die Windows-Taste und geben Sie “powershell” oder Windows-R und “powershell” ein und drücken Sie die Eingabetaste.

Keine Installation erforderlich.

Ein interessanter Unterschied zum herkömmlichen wget (mehr unter dieser Link ): wget in PowerShell ist nur ein praktischer Wrapper für Invoke-WebRequest, und Sie müssen seine Syntax verwenden, um in eine Datei zu schreiben.

wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
4
4
4
2012-10-22 05:48:35 +0000

Wenn PowerShell eine Option ist, ist das der bevorzugte Weg, da Sie (potentiell) nichts zusätzlich installieren müssen:

(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt', 'C:\tmp\file.tx??t')

Wenn das nicht möglich ist, ist Wget für Windows, wie von anderen betont wurde, definitiv die zweitbeste Option. Wie in einer anderen Antwort gepostet, sieht es so aus, als könnten Sie Wget ganz allein herunterladen , oder Sie können es als Teil von Cygwin oder MSys mitnehmen.

Wenn Sie aus irgendeinem Grund in einer Zeitschleife feststecken und eine Maschine verwenden, die nicht über PowerShell verfügt, und Sie haben keinen Zugang zu einem funktionierenden Web-Browser (d.h. Internet Explorer ist der einzige Browser auf dem System, und seine Einstellungen sind korrupt), und Ihre Datei befindet sich auf einer FTP-Site (im Gegensatz zu HTTP):

start->run "FTP", press "OK".

Wenn der Speicher ausreicht, ist sie seit Windows 98 vorhanden, und ich kann bestätigen, dass sie in Windows 8 RTM immer noch vorhanden ist (möglicherweise müssen Sie in appwiz.cpl gehen und Funktionen hinzufügen/entfernen, um sie zu erhalten). Dieses Dienstprogramm kann sowohl Dateien auf FTP-Sites im Web herunterladen als auch von dort hochladen. Es kann auch in Skripten verwendet werden, um beide Vorgänge zu automatisieren. (http://www.howtofixcomputers.com/forums/windows-xp/how-use-command-ftp-exe-windows-98176.html)

Dieses integrierte Tool war für mich in der Vergangenheit ein echter Lebensretter, besonders in den Tagen von ftp.cdrom. com – Ich habe Firefox einmal auf diese Weise heruntergeladen, auf einem völlig kaputten Rechner, der nur über eine Internet-Einwahlverbindung verfügte (damals, als die maximale Paketgröße von sneakernet noch 1,44 MB betrug und Firefox noch “Netscape” /me does trollface hieß).

Ein paar Tipps: Es ist ein eigener Befehlsprozessor, und es hat eine eigene Syntax. Versuchen Sie, “Hilfe” einzugeben. Alle FTP-Sites erfordern einen Benutzernamen und ein Passwort; aber wenn sie “anonyme” Benutzer erlauben, ist der Benutzername “anonym” und das Passwort ist Ihre E-Mail-Adresse (Sie können sich eins ausdenken, wenn Sie nicht verfolgt werden wollen, aber normalerweise gibt es eine Art Logik, um sicherzustellen, dass es sich um eine gültige E-Mail-Adresse handelt).

3
3
3
2019-06-02 21:52:23 +0000

Suchen Sie nach der Funktion /download auf https://lolbas-project.github.io .

Im Moment gibt es Bitsadmin.exe, Certutil.exe, Esentutl.exe, Expand.exe, Extrac32.exe, Findstr.exe, Hh.exe, Ieexec.exe, Makecab.exe, Replace.exe, &007 für Windows vista, Windows 7, Windows 8, Windows 8.1, Windows 10 und die entsprechenden Server-Versionen.

3
3
3
2012-02-16 17:10:01 +0000

Cygwin hat Wget (und viele weitere Hilfsprogramme).

2
2
2
2009-08-19 11:54:38 +0000

Und http://www.httrack.com/ hat ein schönes GUI (und es ist kostenlos), um Sites zu spiegeln. Es hat auch eine Linux-Version.

1
1
1
2009-08-19 11:46:49 +0000

Sie können WGet für Windows hier erhalten. Alternativ können Sie mit der rechten Maustaste auf den Download-Link des gewünschten Artikels klicken und Speichern unter wählen. Dadurch wird die Datei heruntergeladen und nicht in der zugeordneten Anwendung geöffnet.

1
1
1
2018-06-17 11:29:05 +0000

Ich denke, die Installation von wget über Chocolatey ist der einfachste Weg.

  1. Installieren Sie Chocolatey
  2. Geben Sie von der Kommandozeile aus ein: choco install wget
  3. Sie können dann wget von der Befehlszeile aus wie auf *nix-Systemen verwenden.
0
0
0
2018-12-05 19:27:48 +0000

Wie in dieser SU-Antwort dokumentiert, können Sie in Powershell Folgendes verwenden:

Import-Module bitstransfer
start-bitstransfer -source http://something/something.ext -destination c:\something.ext
0
0
0
2012-02-16 16:58:17 +0000

Wenn Sie ein GUI wünschen, dann probieren Sie VisualWget , das eigentlich sauber und voll funktionsfähig ist. Es basiert auf GNU Wget für seine Download-Engine.

EDIT: aktualisierter Link.

-1
-1
-1
2011-07-21 16:00:11 +0000

Eine Alternative zur Verwendung von gnuwin32 ist unxutils , das wget enthält.

-3
-3
-3
2016-04-12 07:45:52 +0000

Wenn Sie einen visuellen Beitrag für Windows benötigen, hier ist einer. Sie können Daten oder Dateien damit posten.