So laden Sie Dateien von der Befehlszeile in Windows wie wget oder curl herunter

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

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

Author: Peter Mortensen, 2009-08-19

21 answers

Wget für Windows sollte funktionieren.

Vom "Wget" Wiki FAQ - :

GNU Wget ist ein kostenloses Netzwerkprogramm zum Abrufen von Dateien aus der Welt Wide Web mit HTTP und FTP, die beiden am häufigsten verwendeten Internet Protokoll. Es arbeitet nicht interaktiv und ermöglicht so die Arbeit in der hintergrund, nachdem sie sich abgemeldet haben.

Von dieser Abschnitt der FAQ, Download-Links werden vorgeschlagen:

- Windows-Binärdateien

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

 202
Author: 3 revs, 3 users 57%user109256,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-11-21 11:10:41

Eine Alternative, die ich kürzlich mit PowerShell entdeckt habe:

$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 hinzu:

$client.Credentials =  Get-Credential                

Eine Standard-Eingabeaufforderung für Windows-Anmeldeinformationen wird angezeigt. Die dort eingegebenen Anmeldeinformationen werden zum Herunterladen der Datei verwendet. Sie müssen dies nur einmal für die ganze Zeit tun, in der Sie das $client-Objekt verwenden.

 340
Author: Ubeogesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-03-07 15:00:28

" CURL -

Windows 10 enthält curl.exe:

Https://techcommunity.microsoft.com/t5/containers/-/ba-p/382409

So können Sie so etwas tun:

# example 1
curl.exe --output index.html --url https://superuser.com
# example 2
curl.exe -o index.html https://superuser.com

Wenn Sie ältere Fenster haben, können Sie es trotzdem herunterladen:

Https://curl.haxx.se/windows

PowerShell -

# example 1
Invoke-WebRequest -OutFile index.html -Uri https://superuser.com
# example 2
iwr -outf index.html https://superuser.com

Https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest

 123
Author: Steven Penny,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-07-16 13:53:01

Windows verfügt über ein eigenes Befehlszeilen-Download-Dienstprogramm - BITSAdmin:

BITSAdmin ist ein Befehlszeilentool, mit dem Sie Downloads erstellen können oder laden Sie Jobs hoch und überwachen Sie deren Fortschritt.

BEARBEITEN: 26.01.15 - Hier ist meine Übersicht, wie eine Datei unter Windows ohne externe Tools heruntergeladen werden kann

Und ein komplettes bitsadmin Beispiel:

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

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

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

Certutil ist nicht standardmäßig unter XP/Win2003 installiert, aber auf den neueren Windows-Versionen verfügbar.Für XP/2003 müssen Sie das Admin-Tool Pack für windows server 2003 -

 67
Author: npocmaka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-05-15 15:52:27

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");
*/
 33
Author: user190042,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-01-15 08:48:46

Ich machte einen schnellen MyGet.bat-Datei, 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 Code von Parsing URL für Dateinamen mit Leerzeichen.

 24
Author: MartinC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-04-17 04:47:47

Hier ist eine native cURL für Windows verfügbar . Es gibt viele Varianten - mit und ohne SSL-Unterstützung.

Sie brauchen nicht das zusätzliche Gepäck von Cygwin und dergleichen, nur eine kleine EXE-Datei.


Es ist auch wichtig zu wissen, dass in allen modernen Versionen von Windows Powershell sowohl wget als auch curl Aliase integriert sind. Sie sind gleichwertig.

Es sind keine zusätzlichen Dateien oder Downloads erforderlich, um wget Funktionalität:

Verwenden von Curl In Powershell (Der gesellige Geek)

Auszug:

Sie können einen cURL-Befehl wie einen eingeben, der eine Datei von a herunterlädt GitHub-repository.

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

Und es scheint, als ob es funktioniert, aber was es tatsächlich tut, ist nur verwenden von cURL als Alias. In dem obigen Fall, was wird passieren ist dass Sie nur die Header anstelle der Datei selbst erhalten.

Mit Aliasnamen in PowerShell können Sie Verknüpfungen für längere Befehle erstellen, sodass Sie sie nicht ständig eingeben müssen.

Wenn Sie den Befehl Get-Alias eingeben, erhalten Sie eine Liste aller in PowerShell verwendeten Aliase. Wie Sie sehen, ruft der Befehl curl nur den Befehl Invoke-WebRequest auf. Sie sind ähnlich, aber nicht gleich, weshalb die obige Anfrage dies nicht tut arbeit für uns.

geben Sie hier die Bildbeschreibung ein

Damit dies in PowerShell ordnungsgemäß funktioniert, verwenden Sie am einfachsten Variablen und das Argument -OutFile wie hier gezeigt:

geben Sie hier die Bildbeschreibung ein

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

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


Der Hauptvorteil besteht darin, dass es in Powershell selbst integriert ist, sodass dieser Code direkt ausgeführt wird, ohne dass Downloads oder andere zusätzliche Dateierstellungen erforderlich sind, damit er in jeder modernen Windows-Version funktioniert.

 22
Author: SDsolar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-11-15 18:21:47

Ich habe nach demselben gesucht und da ich kein Recht hatte, eines der oben genannten Pakete zu installieren, habe ich mich für eine kleine Problemumgehung entschieden (um mehr als 30 Dateien herunterzuladen):

  • Ich habe eine Batch-Datei
  • Listete alle Dateien auf
  • Setzen Sie firefox.exe am Anfang jeder Zeile
  • Ging in das Firefox-Verzeichnis in Program Files
  • , Lief es.
 8
Author: Simon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-03-16 22:24:09

Sie können auch verwenden Sie die wget verpackt in PowerShell. ;^) Drücken Sie zum Öffnen die Windows-Taste und geben Sie " Powershell "oder Windows-R ein, geben Sie" Powershell " ein und drücken Sie return.

- Keine installation notwendig.

Ein interessanter Unterschied zu herkömmlichen wget (mehr bei dieser Link): Sie können nicht einfach das Größer-als-Rohr zu einer Datei verwenden. wget in PowerShell ist nur ein Convenience-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
 5
Author: ruffin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-03-20 10:17:14

Wenn PowerShell eine Option ist, ist dies die bevorzugte Route, da Sie (möglicherweise) nichts Zusätzliches installieren müssen:

(new-object System.Net.WebClient).DownloadFile('http://www.example.com/file.txt', 'C:\tmp\file.txt')

Andernfalls ist Wget für Windows, wie andere bereits erwähnt haben, definitiv die zweitbeste Option. Wie in einer anderen Antwort geschrieben, sieht es so aus, als ob Sie Wget ganz von selbst herunterladen können , oder Sie können es als Teil von Cygwin oder MSys.

Wenn Sie aus irgendeinem Grund in einer Zeitschleife stecken bleiben und eine Maschine benutzen, die hat keine PowerShell und Sie haben keinen Zugriff auf einen funktionierenden Webbrowser (dh Internet Explorer ist der einzige Browser auf dem System und seine Einstellungen sind beschädigt), und Ihre Datei befindet sich auf einer FTP-Site (im Gegensatz zu HTTP):

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

, Wenn der Speicher dient, es war es seit Windows 98, und ich kann bestätigen, dass es noch in der Windows 8 RTM (möglicherweise müssen Sie gehen in appwiz.cpl und hinzufügen/entfernen von features, um es zu bekommen). Dieses Dienstprogramm kann sowohl herunterladen und Hochladen von Dateien auf / von FTP-Sites auf Web. Es kann auch in Skripten verwendet werden, um eine der beiden Operationen zu automatisieren.

Dieses tool gebaut-in a real life saver für mich in der Vergangenheit, vor allem in den Tagen der ftp.cdrom.com -ich heruntergeladene Firefox-auf diese Weise mal auf eine völlig kaputte Maschine, hatte nur einer dial-up Internet-Verbindung (hinten bei der leg ist die maximale Paket-Größe war immer noch 1,44 MB und Firefox noch unter dem Namen "Netscape" /mich nicht trollface).

Ein paar Tipps: es ist seine eigene befehlsprozessor, und es hat seine eigene Syntax. Versuchen Sie, "Hilfe" einzugeben. Alle FTP-Sites benötigen einen Benutzernamen und ein Passwort; Wenn sie jedoch "anonyme" Benutzer zulassen, ist der Benutzername "anonym" und das Passwort ist Ihre E-Mail-Adresse (Sie können eine erstellen, wenn Sie nicht verfolgt werden möchten, aber normalerweise gibt es eine Art Logik, um sicherzustellen, dass es sich um eine gültige E-Mail-Adresse handelt).

 4
Author: BrainSlugs83,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-08-27 03:28:49

Cygwin - hat Wget (und viele weitere Dienstprogramme).

 3
Author: Rich Homolka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-03-16 22:19:32

Suche nach /download Funktion auf https://lolbas-project.github.io.

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

 3
Author: noraj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-06-02 21:52:23

Und http://www.httrack.com/ hat eine schöne GUI (und es ist kostenlos), zum Spiegeln von Websites. Es hat auch eine Linux-version.

 2
Author: Zsolt Botykai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-02-25 23:45:29

Sie können WGet für Windows hier. Alternativ können Sie mit der rechten Maustaste auf den Download-Link des Elements klicken, das Sie herunterladen möchten, und wählen Sie Speichern unter. Dadurch wird die Datei heruntergeladen und nicht in der zugewiesenen Anwendung geöffnet.

 1
Author: BinaryMisfit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-08-19 11:46:49

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

  1. Installation Schokoladig
  2. Geben Sie in der Befehlszeile Folgendes ein: choco install wget
  3. Sie können dann wget über die Befehlszeile wie auf *nix-Systemen verwenden.
 1
Author: sivabudh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-06-17 11:29:05

Auf Win-CMD (wenn Sie Schreibzugriff haben):

set url=https://www.nsa.org/content/hl-images/2017/02/09/NSA.jpg
set file=file.jpg
certutil -urlcache -split -f %url% %file%
echo Done.

Gebaut in Windows app. Keine Notwendigkeit für externe downloads.

Getestet auf Win 10

 1
Author: Zimba,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-04-25 17:54:04

In Windows kann man auch einen Linux-Terminal-Emulator verwenden, wie MobaXterm oder WSL2.

Das Verfahren ist für beide ähnlich, was variiert, ist der Installationsprozess.

Für MobaXterm ist dies die Prozedur:

  1. Laden Sie MobaXterm herunter und installieren Sie es (die Home Edition kann für Ihren Anwendungsfall ausreichen).

  2. Rufen Sie MobApt (MobaXterm Package Manager) auf, indem Sie das Terminal öffnen und ausführen MobApt.

Zugriff auf MobApt-Paketmanager

  1. Suchen Sie das Paket wget und drücken Sie Install/Update (vorausgesetzt, es ist immer noch nicht installiert).

MobApt Paketmanager für MobaXterm

  1. Führen Sie dann Ihr Skript aus (ich lasse unten ein Beispiel für ein wget-Skript, das Sie ausführen können).

Für WSL2 ist dies die Prozedur:

  1. WSL2 installieren (https://docs.microsoft.com/en-us/windows/wsl/install-win10). Ich benutze Ubuntu 18.

  2. Sobald das Setup abgeschlossen ist, öffnen und führen Sie den folgenden Befehl aus:

sudo apt-get install wget

  1. Führen Sie dann Ihr Skript aus (ich lasse unten ein Beispiel für ein wget-Skript, das Sie ausführen können).

Sie können dieses Skript in beiden Fällen verwenden:

wget --header='Accept-Language: en-US,en;q=0.9,pt-PT;q=0.8,pt;q=0.7,de;q=0.6,fr;q=0.5,es;q=0.4,it;q=0.3,gl;q=0.2,hu;q=0.1' --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36" -c "http://..." -w 1
 1
Author: Gonçalo Peres 龚燿禄,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-07-15 07:39:24

Wenn Sie eine GUI möchten, versuchen Sie es mit VisualWget, das tatsächlich sauber und voll ist. Es basiert auf GNU Wget für seine Download-Engine.

BEARBEITEN: aktualisierter Link.

 0
Author: Wurlitzer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-03-24 17:52:11

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
Author: Dolan Antenucci,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-12-05 19:27:48

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

 -1
Author: Chris Chilvers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-07-21 16:00:11

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

 -3
Author: Gravity,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-04-12 07:45:52