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

Hoe kan ik bestanden downloaden van de opdrachtregel in Windows zoals wget of curl

Hoe kan ik iets direct van het web downloaden zonder dat Internet Explorer of Firefox Acrobat Reader/Quicktime/MS Word/whatever opent?

Ik gebruik Windows, dus een Windows versie van Wget zou voldoende zijn.

Antwoorden (19)

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

Een alternatief dat ik onlangs ontdekte, met behulp van PowerShell:

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

Het werkt ook met GET queries.

Als je referenties moet opgeven om het bestand te downloaden, voeg dan de volgende regel toe tussen:

$client.Credentials = Get-Credential

Een standaard windows credentials prompt zal verschijnen. De gegevens die u daar invoert worden gebruikt om het bestand te downloaden. Je hoeft dit maar één keer te doen voor de tijd dat je het $client object gebruikt.

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

Wget voor Windows zou moeten werken.

Van de Wget Wiki FAQ :

GNU Wget is een gratis netwerkprogramma voor het ophalen van bestanden van het World Wide Web met behulp van HTTP en FTP, de twee meest gebruikte internetprotocollen. Het werkt niet-interactief, waardoor het op de achtergrond kan werken, nadat het is afgemeld.

Vanuit deze sectie van FAQ worden downloadlinks voorgesteld:

Windows Binaries

In plaats daarvan wordt de link met de hoffelijkheid van Jernej Simončič gebruikt.

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

Als u PowerShell heeft >= 3.0, kunt u ons Invoke-WebRequest

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

of golfen

iwr -outf index.html http://superuser.com

Download een bestand via HTTP in Windows

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

Windows heeft zijn eigen commandoregel-downloadprogramma - BITSAdmin :

BITSAdmin is een commandoregelprogramma dat u kunt gebruiken om download- of uploadtaken te maken en de voortgang ervan te bewaken.

EDIT : 26.01.15 - Hier is mijn overzicht van hoe een bestand kan worden gedownload op windows zonder externe tools

En een compleet bitadmin voorbeeld:

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

Edit : 15.05.2018 - bleek dat het mogelijk is om een bestand met certutil ook te downloaden:

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

Certutil is niet standaard geïnstalleerd op XP/Win2003 maar is wel beschikbaar op de nieuwere windows versies. Voor XP/2003 heeft u het Admin Tool Pack voor windows server 2003 nodig.

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

Sla de volgende tekst op als wget.js en bel

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

Dit is de 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

Ik heb een snel myGet.bat bestand gemaakt dat de hierboven beschreven PowerShell methode aanroept.

@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

Ik heb wat code geleend van Parsing URL voor bestandsnaam met spatie _.

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

Er is een native cURL voor Windows beschikbaar hier . Er zijn vele smaken beschikbaar - met en zonder SSL-ondersteuning.

Je hebt de extra bagage van Cygwin en dergelijke niet nodig, slechts één klein EXE-bestand.

  • *

Het is ook belangrijk om te weten dat er zowel wget als curl aliassen zijn ingebouwd in alle moderne versies van Windows Powershell. Ze zijn gelijkwaardig.

Er zijn geen extra bestanden of downloads nodig om wget functionaliteit te verkrijgen: Gebruik van Curl In Powershell (The Sociable Geek)

Uittreksel:

U kunt een cURL commando intypen zoals een commando dat een bestand downloadt van een GitHub repository.

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

en het zal lijken alsof het werkt, maar wat het eigenlijk doet is gewoon cURL als een alias gebruiken. In het bovenstaande geval zal het gebeuren dat je gewoon de headers krijgt in plaats van het bestand zelf.

Aliassen in PowerShell staan je toe om snelkoppelingen te maken voor langere commando’s zodat je ze niet steeds hoeft uit te typen.

Als je het commando Get-Alias intypt, zal het je een lijst geven van alle Aliassen die gebruikt worden in PowerShell. Zoals je kunt zien, roept het krulcommando gewoon het commando Invoke-WebRequest op. Ze lijken op elkaar, maar zijn niet hetzelfde en daarom werkt het bovenstaande verzoek niet voor ons.

Om dit goed te laten werken in PowerShell is de eenvoudigste manier het gebruik van variabelen en het -OutFile-argument zoals hier getoond:

(bestandsnaam afgeknipt in afbeelding https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy. json “)

Deze syntaxis zal de volledige inhoud van het doelbestand azuredeploy.json downloaden naar het lokale bestand newfile.json

  • *

Het primaire voordeel is dat het is ingebouwd in Powershell zelf, dus deze code zal direct worden uitgevoerd zonder dat er downloads of andere extra bestandscreaties nodig zijn om het te laten werken op een moderne versie van Windows.

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

Ik was op zoek naar hetzelfde, en aangezien ik niet het privilege had om een van de bovenstaande pakketten te installeren, ging ik voor een kleine workaround (om 30+-bestanden te downloaden):

  • Ik maakte een batch-bestand
  • Maakte een lijst van alle bestanden
  • Zet firefox.exe aan het begin van elke lijn
  • Ging naar de firefox-directory in Program Files
  • Rundeerde het.
4
4
4
2017-02-01 14:06:11 +0000

U kunt ook gebruik maken van de wget verpakt in PowerShell . ;^) Om te openen drukt u op de Windows toets en typt u “powershell” of Windows-R en typt u “powershell” en drukt u op return.

Geen installatie nodig.

Een interessant verschil met conventioneel wget (meer bij die link ): Je kunt niet zomaar het grotere dan het pijpsysteem gebruiken om naar een bestand te sturen. wget in PowerShell is slechts een gemakswikkel voor Invoke-WebRequest, en je moet de syntax gebruiken om naar een bestand te schrijven.

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

Als PowerShell een optie is, is dat de voorkeursroute, aangezien u (mogelijk) niets extra’s hoeft te installeren:

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

Als dat niet lukt, is Wget voor Windows, zoals anderen al hebben aangegeven, zeker de op één na beste optie. Zoals in een ander antwoord is aangegeven, lijkt het erop dat u Wget helemaal zelf kunt downloaden , of dat u het kunt pakken als onderdeel van Cygwin of MSys .

Als u om een of andere reden vastzit in een tijdwarp, met behulp van een machine die geen PowerShell heeft en heeft u geen toegang tot een werkende webbrowser (dat wil zeggen, Internet Explorer is de enige browser op het systeem, en de instellingen zijn corrupt), en uw bestand staat op een FTP-site (in tegenstelling tot HTTP):

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

Als het geheugen het toelaat is het er al sinds Windows 98, en ik kan bevestigen dat het er nog steeds is in Windows 8 RTM (je moet misschien in appwiz.cpl gaan en functies toevoegen/verwijderen om het te krijgen). Dit hulpprogramma kan zowel bestanden downloaden als uploaden naar/van FTP-sites op het web. Het kan ook worden gebruikt in scripts om beide functies te automatiseren. ](http://www.howtofixcomputers.com/forums/windows-xp/how-use-command-ftp-exe-windows-98176.html)

Dit hulpprogramma, dat is ingebouwd, is in het verleden een echte levensredder voor mij geweest, vooral in de dagen van ftp.cdrom. com – Ik heb Firefox op die manier een keer gedownload, op een volledig kapotte machine die alleen een inbelverbinding met het internet had (toen de maximale pakketgrootte van sneakernet nog 1.44 MB was, en Firefox nog “Netscape” /me does trollface heette).

Een paar tips: het is een eigen commandoprocessor, en het heeft een eigen syntaxis. Probeer “help” te typen. Alle FTP-sites hebben een gebruikersnaam en wachtwoord nodig; maar als ze “anonieme” gebruikers toestaan, is de gebruikersnaam “anoniem” en het wachtwoord is je e-mailadres (je kunt er een verzinnen als je niet gevolgd wilt worden, maar meestal is er een soort logica om er zeker van te zijn dat het een geldig e-mailadres is).

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

Zoek naar de /download-functie op https://lolbas-project.github.io .

Op dit moment zijn er Bitsadmin.exe, Certutil.exe, Esentutl.exe, Expand.exe, Extrac32.exe, Findstr.exe, Hh.exe, Ieexec.exe, Makecab.exe, Replace.exe voor Windows vista, Windows 7, Windows 8, Windows 8.1, Windows 10 en de equivalente serverversies.

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

Cygwin (http://www.cygwin.com/) heeft Wget (en nog veel meer nutsbedrijven).

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

En http://www.httrack.com/ heeft een mooie GUI (en die is gratis), voor het spiegelen van sites. Het heeft ook een Linux-versie.

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

U kunt WGet voor Windows krijgen hier . U kunt ook rechtsklikken op de downloadlink van het item dat u wilt downloaden en kiezen voor Opslaan als. Dit zal het bestand downloaden en niet openen in de toegewezen toepassing.

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

Ik denk dat het installeren van wget via Chocolatey de eenvoudigste manier is.

  1. Installeer Chocolatey
  2. 2. Type vanaf de opdrachtregel: choco install wget
  3. Installeer [ Chocolatey ]&003 Je kunt dan wget gebruiken vanaf de commandoregel zoals op *nix systemen.
0
0
0
2018-12-05 19:27:48 +0000

Zoals gedocumenteerd in deze SU-antwoord , kunt u het volgende gebruiken in Powershell:

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

Als u een GUI wilt, probeer dan VisualWget , die eigenlijk schoon is, en een volledige functie heeft. Het is gebaseerd op GNU Wget voor de download engine.

EDIT: bijgewerkte link.

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

Een alternatief voor het gebruik van gnuwin32 is unxutils , inclusief wget.

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

Als u een visueel bericht voor Windows nodig hebt, hier is er een. U kunt er gegevens of bestanden mee posten.