457 votes

Comment télécharger des fichiers en ligne de commande sous Windows comme wget ou curl ?

Comment puis-je télécharger directement quelque chose à partir du web sans qu'Internet Explorer ou Firefox n'ouvre Acrobat Reader/Quicktime/MS Word/quelque chose ?

J'utilise Windows, donc une version Windows de Wget ferait.

0 votes

Il suffit de cliquer avec le bouton droit de la souris sur un fichier et de cliquer sur "Enregistrer la cible sous" ou "Enregistrer le lien sous" ou "Enregistrer sous" (la langue varie en fonction de votre navigateur).

28 votes

L'intérêt d'avoir une commande est de pouvoir écrire un fichier batch et de l'exécuter (peut-être planifié comme une tâche) quand vous le souhaitez. C'est là que l'interface graphique n'est pas à la hauteur.

7 votes

Comment télécharger avec MS Word ?

372voto

Paolo Tedesco Points 1549

Une alternative que j'ai découverte récemment, en utilisant PowerShell :

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

Cela fonctionne aussi bien avec les requêtes GET.

Si vous devez spécifier des informations d'identification pour télécharger le fichier, ajoutez la ligne suivante entre les deux :

$client.Credentials =  Get-Credential                

Une demande d'informations d'identification standard de Windows apparaîtra. Les informations d'identification que vous saisissez seront utilisées pour télécharger le fichier. Vous n'avez besoin de le faire qu'une seule fois pour tout le temps où vous utiliserez l'objet $client.

107 votes

Vous pouvez également le faire en une ligne : (new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.‌​txt','C:\tmp\file.tx‌​t')

0 votes

Cela n'aurait rien à voir avec wget, ne serait-ce que par le fait que vous devez installer un autre gros programme juste pour l'utiliser.

16 votes

@Rob powershell est intégré à Windows...

215voto

Tim Koscielski Points 841

Wget pour Windows devrait fonctionner.

De la Wget Wiki FAQ :

GNU Wget est un utilitaire de réseau libre permettant de récupérer des fichiers sur le réseau mondial. Web en utilisant HTTP et FTP, les deux protocoles Internet les plus utilisés. les plus utilisés. Il fonctionne de manière non interactive, ce qui permet de travailler en arrière-plan en arrière-plan, après s'être déconnecté.

De cette section de la FAQ des liens de téléchargement sont proposés :

Binaires Windows

Le lien avec l'aimable autorisation de Jernej Simoncic est utilisé à la place.

9 votes

Il y a aussi Winwget cybershade.us/winwget si vous préférez un gui

14 votes

La version autonome est téléchargeable sur ce lien .

6 votes

Plus récente, voire actualisée (à ce jour) Constructions Windows fourni par Jernej Simoncic

177voto

Red Tux Points 2074

CURL

Windows 10 comprend curl.exe :

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

donc vous pouvez faire quelque chose comme ça :

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

Si vous avez un ancien Windows, vous pouvez toujours le télécharger :

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

0 votes

Ceci ne fonctionne pas avec les redirections sur sourceforge (et éventuellement d'autres sites), contrairement à System.Net.WebClient . Cependant, vous pouvez faire Invoke-WebRequest en ajoutant -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox .

0 votes

La partie powershell est la seule qui fonctionne en mode Server 2016 core. Notez que vous devez spécifier l'option securityprotocol comme stackoverflow.com/a/48030563/350580 pour faire fonctionner https acturally

76voto

npocmaka Points 1141

Il est possible de télécharger un fichier avec certutil :

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

Certutil n'est pas installé par défaut sur XP/Win2003 mais est disponible sur les versions plus récentes de Windows. Admin Tool Pack pour Windows server 2003


Vieille réponse :

Windows possède son propre utilitaire de téléchargement en ligne de commande - BITSAdmin :

BITSAdmin est un outil en ligne de commande que vous pouvez utiliser pour créer des fichiers à télécharger. ou de téléchargement et suivre leur progression.

Voici mon aperçu de la façon dont un fichier peut être téléchargé sur Windows sans outils externes

Et un exemple complet de bitsadmin :

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

8 votes

Intéressant. C'est un logiciel bien maladroit comparé à wget.

2 votes

Notez qu'il n'est pas livré avec Windows XP, et peut-être pas avec d'autres versions non plus.

12 votes

Mise à jour : BITSAdmin est déprécié et sa disponibilité n'est pas garantie dans les futures versions de Windows. Les outils d'administration du service BITS sont désormais fournis par les cmdlets PowerShell du BITS.

37voto

user190042 Points 51

Enregistrez le texte suivant en tant que wget.js et appeler simplement

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

Voici le 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");
*/

1 votes

En quel langage est ce script ? Il semble utile à ma tâche actuelle. J'aimerais trouver plus de documentation de référence. Cela ne ressemble pas tout à fait à vb

1 votes

Utile pour les fichiers uniques. Doit être amélioré pour le téléchargement récursif et https.

4 votes

@G-. Je suis en retard à la fête, mais c'est JavaScript.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X