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

Is het mogelijk om te downloaden via de Windows commandoregel?

Zonder gebruik te maken van niet-standaard (Windows inbegrepen) hulpprogramma’s, is het mogelijk om te downloaden via de Windows commandoregel?

De voorkeursversie is Windows XP, maar het is ook interessant om te weten voor nieuwere versies.

Om mijn vraag verder te verduidelijken:

  • Er moet gebruik worden gemaakt van HTTP
  • Het bestand moet worden opgeslagen
  • Standaard schone Windows installatie, geen extra tools

Dus eigenlijk, aangezien iedereen schreeuwt Wget _, wil ik eenvoudige Wget functionaliteit, zonder gebruik te maken van Wget.

Antwoorden (13)

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

Beginnend met Windows 7, geloof ik dat er één enkele methode is die nog niet is genoemd die gemakkelijk is:

Syntax:

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

Voorbeeld:

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

(Gebroken in twee aparte regels met ^ voor de leesbaarheid (om het scrollen te vermijden). )

Waarschuwing: Zoals aangegeven in de commentaren, begint het bitsadmin helpbericht met te zeggen:

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.

… maar een ander commentaar meldde dat het werkt op Windows 8.

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

Windows 7 bevat PowerShell en er is vrijwel niets wat je niet kunt doen met PowerShell. Inheems alternatief voor wget in Windows PowerShell?

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

PowerShell (inbegrepen bij Windows 8 en inbegrepen bij .NET voor eerdere versies) heeft deze mogelijkheid. Het powershell commando maakt het mogelijk om willekeurige PowerShell commando’s uit te voeren vanaf de commandoregel of een .bat bestand. Dus, de volgende regel is wat er gewenst is:

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

Ik heb een manier gevonden om het te doen, maar eigenlijk, installeer je gewoon Wget .

Je kunt Internet Explorer gebruiken vanaf een opdrachtregel (iexplore.exe) en dan een URL als argument invoeren. Dus, voer uit:

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

Wat het bestand ook is, u hoeft het niet van tevoren te bevestigen. Lo en see, het zal automatisch de download uitvoeren. Dus ja, technisch gezien is het mogelijk, maar de goede heer doet het op een andere manier.

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

Windows Verkenner (niet te verwarren met Internet Verkenner) kan bestanden downloaden via HTTP. Voer gewoon de URL in de adresbalk in. Of van de opdrachtregel, bijvoorbeeld, C:\windows\explorer.exe http://somewhere.com/filename.ext.

U krijgt de klassieke Bestand downloaden prompt. Tenzij het bestand een type is dat Windows Explorer inline kan weergeven, (.html, .jpg, .gif), in welk geval u dan met de rechtermuisknop moet klikken om het op te slaan.

Ik heb dit net getest op mijn VMware afbeelding van een maagdelijke installatie van Windows XP 2002 SP1, en het werkt prima.

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

U kunt (in een standaard Windows bat):

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

gebruiken Het lijkt erop dat PowerShell v4…

nodig is (Dankzij die opmerking en deze )

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

Gebruik FTP.

Vanaf de opdrachtregel:

ftp ftp.somesite.com
user
password

etc. FTP zit in elke Windows versie die ik me kan herinneren; waarschijnlijk niet in 3.1, misschien niet in Windows 95 , maar zeker alles daarna.

@RM: Het wordt ruw als je geen andere tools wilt downloaden. Er bestaat een opdrachtregel Wget voor Windows en Wget is ontworpen om precies te doen wat u vraagt.

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

Gebruik PowerShell zoals dit:

  1. Maak een download.ps1 bestand aan:

  2. Nu kun je zo'n bestand downloaden:

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

Als u Telnet installeert, stel ik me voor dat u een HTTP-verzoek doet aan een server om een bestand te downloaden.

U kunt ook Cygwin installeren en wget gebruiken om een bestand te downloaden. Dit is een zeer eenvoudige manier om bestanden te downloaden vanaf de opdrachtregel.

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

Bestand kan worden gedownload via onderstaande methode

bitsadmin / transfer wcb /prioriteit hoog https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\Programme Files (x86)\Dell Update\Agenda21.pdf

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

Er zijn een paar manieren om te downloaden met behulp van de opdrachtregel in Windows:

  1. U kunt gebruik maken van Cygwin .

    1. Met behulp van telnet is het mogelijk om een aanvraag te doen, maar u ziet geen verwerking.
  2. Je kunt bat- of VBS-scripts schrijven.

    1. Schrijf je eigen programma dat je kunt draaien vanaf cmd.exe.
0
0
0
2014-08-29 23:15:15 +0000

Als u python heeft geïnstalleerd is hier een voorbeeld dat de get-pip.py van het web

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

In standaard Windows kunt u niet downloaden via HTTP. Windows is een GUI-centrisch OS, dus het mist veel van de commandline tools die je zou vinden in andere OS’s, zoals wget, wat de belangrijkste kandidaat zou zijn.

System.Net.WebClient.DownloadFile(), een functie in de WiniNet API, kan bestanden downloaden, maar ik weet niet zeker hoe ver je in de werkelijke ontwikkeling vs. een batch-bestand komt.