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

Ist es möglich, ohne Verwendung von nicht standardmäßigen (Windows-enthaltenen) Dienstprogrammen über die Windows-Befehlszeile herunterzuladen?

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

Um meine Frage weiter zu klären:

  • Es muss HTTP verwendet werden
  • Die Datei muss gespeichert werden
  • Standard saubere Windows installieren, keine zusätzlichen Werkzeuge

Also im Grunde, da jeder schreit Wget, Ich möchte einfache Wget-Funktionalität, ohne Wget zu verwenden.

Author: Peter Mortensen, 2009-10-23

17 answers

Sie können ein VBScript schreiben und über die Befehlszeile ausführen

Erstellen Sie eine Datei downloadfile.vbs und fügen Sie die folgenden Codezeilen ein:

' Set your settings
    strFileURL = "http://www.it1.net/images/it1_logo2.jpg"
    strHDLocation = "c:\logo.jpg"

' Fetch the file
    Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

    objXMLHTTP.open "GET", strFileURL, false
    objXMLHTTP.send()

If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary

objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0    'Set the stream position to the start

Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing

objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if

Set objXMLHTTP = Nothing

Führen Sie es über die Befehlszeile wie folgt aus:

cscript.exe downloadfile.vbs 
 54
Author: phuclv,
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-07-19 08:15:26

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 Lesbarkeit in zwei separate Zeilen mit ^ unterteilt (um Scrollen zu vermeiden).)

Warnhinweis: Wie bereits in den Kommentaren, die Hilfemeldung bitsadmin beginnt mit den Worten:

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 es unter Windows 8 funktioniert.

 75
Author: timeshift,
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-08-14 16:51:05

Windows 7 enthält PowerShell und es gibt so ziemlich nichts, was Sie mit PowerShell nicht tun können.

Native alternative zu wget in Windows PowerShell?

 40
Author: user15130,
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:35

PowerShell (in Windows 8 enthalten und in.NET für frühere Versionen enthalten) verfügt über diese Funktion. Mit dem Befehl powershell können beliebige PowerShell-Befehle über die Befehlszeile oder eine .bat - Datei ausgeführt werden. Daher ist die folgende Zeile das, was gewünscht wird:

powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"
 26
Author: Nik,
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-05 21:07:56

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

Sie können den Internet Explorer über eine Befehlszeile verwenden (iexplore.exe) und geben Sie dann eine URL als Argument ein. Also, lauf:

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. Siehe da, es wird automatisch den Download durchführen. Also ja, es ist technisch möglich, aber guter Herr, mach es anders.

 19
Author: DHayes,
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
2014-06-06 17:40:40

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

Sie erhalten die klassische Datei herunterladen Eingabeaufforderung. Es sei denn, die Datei ist ein Typ, den Windows Explorer inline anzeigen kann, (.HTML, .jpg, .gif), in diesem Fall müssten Sie dann mit der rechten Maustaste klicken, um es zu speichern.

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

 13
Author: Chris Noe,
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
2014-06-06 18:09:23

Sie können (in einem Standard-Windows-Bat) verwenden:

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

Es scheint PowerShell v4 zu erfordern...

(Danke an diesen Kommentar und diesen )

 7
Author: Anthony O.,
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-03-26 08:46:50

FTP Verwenden.

Über die Befehlszeile:

ftp ftp.somesite.com
user
password

Etc. FTP ist im Lieferumfang jeder Windows-version, die ich mich erinnern kann; wahrscheinlich nicht in 3.1, vielleicht nicht in Windows 95, sicher aber alles danach.

@RM: Es wird hart, wenn Sie keine anderen Tools herunterladen möchten. Es gibt eine Befehlszeile Wget für Windows und Wget wurde entwickelt, um genau das zu tun, wonach Sie fragen.

 6
Author: Satanicpuppy,
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-06 17:07:03

Benutze PowerShell wie folgt:

  1. Erstellen Sie eine Download. ps1-Datei:

    param($url, $filename)
    $client = new-object System.Net.WebClient 
    $client.DownloadFile( $url, $filename)
    
  2. Jetzt können Sie eine Datei wie diese herunterladen:

    powershell Set-ExecutionPolicy Unrestricted
    powershell -ExecutionPolicy RemoteSigned -File "download.ps1" "http://somewhere.com/filename.ext" "d:\filename.ext"
    
 5
Author: Thomas Jespersen,
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-04-21 21:55:08

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

python -c "import urllib; urllib.urlretrieve ('https://bootstrap.pypa.io/get-pip.py', r'C:\python27\Tools\get-pip.py')"
 2
Author: Sipherlab,
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
2014-08-30 07:02:13

Datei kann über die folgende Methode heruntergeladen werden

Bitsadmin / wcb übertragen / Priorität hoch https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\Program Dateien (x86)\Dell Update\Agenda21.pdf -

 2
Author: Mansur Ali,
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-12-16 21:25:25

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

 2
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:58:50

Von Windows 10 Build 17063 und höher ist 'Curl' jetzt enthalten, sodass Sie es direkt von Cmd aus ausführen können.exe-Datei oder PowerShell.exe.

Zum Beispiel:

C:\>curl.exe -V
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: 2017-11-14, security patched: 2019-11-05
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL

Zum Herunterladen einer Datei:

curl.exe -O https://cdn.sstatic.net/Sites/superuser/Img/logo.svg
 2
Author: gsl,
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-09-10 14:41:09

Wenn Sie Telnet installieren, stellen Sie sich vor, Sie könnten eine HTTP-Anfrage an einen Server stellen, um eine Datei herunterzuladen.

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

 1
Author: EvilChookie,
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-10-23 15:01:33

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

  1. Sie können Cygwin verwenden.

    Hinweis: Die enthaltenen Apps sind keine nativen Linux-Apps. Sie müssen Ihre Anwendung aus dem Quellcode neu erstellen, wenn Sie unter Windows ausgeführt werden möchten.

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

  3. Sie können BAT-oder VBS-Skripte schreiben.

  4. Schreiben Sie Ihr eigenes Programm, das Sie ausführen können cmd.exe.

 1
Author: Jesus,
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-08-20 04:12:46

Sie können die Linux-Anwendung Wget unter Windows installieren. Es kann heruntergeladen werden von http://gnuwin32.sourceforge.net/packages/wget.htm. Sie können dann den Befehl 'wget (inserturlhere)' oder eine andere URL in Ihrer Eingabeaufforderung ausgeben und diese URL/Datei/Bild herunterladen.

 1
Author: Peter Mortensen,
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
2014-06-06 17:39:36

In Standardfenstern können Sie nicht über HTTP herunterladen. Windows ist ein GUI-zentriertes Betriebssystem, daher fehlen viele der Befehlszeilentools, die Sie in anderen Betriebssystemen finden würden, wie wget, was 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 Sie mit der tatsächlichen Entwicklung im Vergleich zu einer Batchdatei kommen.

 0
Author: Andrew Scagnelli,
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-10-23 15:04:59