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

Est-il possible de télécharger en utilisant la ligne de commande Windows ?

Sans utiliser d'utilitaires non standard (Windows inclus), est-il possible de télécharger en utilisant la ligne de commande Windows ?

La version préférée est Windows XP, mais il est également intéressant de le savoir pour les versions plus récentes. Pour clarifier ma question :

  • Il faut utiliser HTTP
  • Le fichier doit être sauvegardé
  • Installation standard de Windows, sans outils supplémentaires

Donc, en gros, puisque tout le monde crie Wget _, je veux une fonctionnalité Wget simple, sans utiliser Wget.

Réponses (13)

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

En commençant avec Windows 7, je crois qu'il y a une seule méthode qui n'a pas encore été mentionnée et qui est facile :

Syntaxe :

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

Exemple :

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

(Divisée en deux lignes séparées avec ^ pour la lisibilité (pour éviter le défilement). )

Attention: Comme indiqué dans les commentaires, le message d'aide de bitsadmin commence par dire :

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.

… mais un autre commentaire signale qu'il fonctionne sous Windows 8.

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

Windows 7 inclut PowerShell et il n'y a pratiquement rien que vous ne puissiez faire avec PowerShell. Alternative native à wget dans Windows PowerShell ?

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

PowerShell (inclus avec Windows 8 et inclus avec .NET pour les versions antérieures) a cette capacité. La commande powershell permet d'exécuter des commandes PowerShell arbitraires à partir de la ligne de commande ou d'un fichier .bat. Ainsi, la ligne suivante est ce que l'on veut :

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

J'ai trouvé un moyen de le faire, mais en fait, il suffit d'installer Wget .

Vous pouvez utiliser Internet Explorer à partir d'une ligne de commande (iexplore.exe) et ensuite entrer une URL en argument. Exécutez donc :

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

Quel que soit le fichier, vous devrez préciser qu'il n'a pas besoin d'être confirmé à l'avance. Et voilà, il effectuera automatiquement le téléchargement. Donc oui, c'est techniquement possible, mais faites-le d'une autre manière.

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

Windows Explorer (à ne pas confondre avec Internet Explorer) peut télécharger des fichiers via HTTP. Il suffit de saisir l'URL dans la barre d'adresse. Ou en ligne de commande, par exemple, C:\windows\explorer.exe http://somewhere.com/filename.ext.

Vous obtenez l'invite classique File Download. Sauf si le fichier est d'un type que l'Explorateur Windows sait afficher en ligne, (.html, .jpg, .gif), auquel cas vous devez alors cliquer avec le bouton droit de la souris pour l'enregistrer.

Je viens de tester cela sur mon image VMware d'une installation vierge de Windows XP 2002 SP1, et ça fonctionne bien.

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

Vous pouvez utiliser (dans une batte Windows standard) :

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

Il semble nécessiter PowerShell v4…

(Merci à ce commentaire et celui-ci )

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

Utilisez le FTP.

Depuis la ligne de commande :

ftp ftp.somesite.com
user
password

etc. Le FTP est inclus dans toutes les versions de Windows dont je me souviens ; probablement pas dans la 3.1, peut-être pas dans Windows 95 , mais certainement dans tout ce qui suit.

@RM : Ce sera difficile si vous ne voulez pas télécharger d'autres outils. Il existe une ligne de commande Wget for Windows et Wget est conçu pour faire exactement ce que vous demandez.

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

Utilisez PowerShell comme ceci :

  1. Créez un fichier download.ps1 :

  2. Vous pouvez maintenant télécharger un fichier comme ceci :

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

Si vous installez Telnet, j'imagine que vous pourriez faire une requête HTTP à un serveur pour télécharger un fichier.

Vous pouvez également installer Cygwin , et utiliser wget pour télécharger un fichier également. C'est un moyen très simple de télécharger des fichiers à partir de la ligne de commande.

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

Le fichier peut être téléchargé via la méthode ci-dessous

bitsadmin /transfer wcb /priority high https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\Program Files (x86)\Dell Update\Agenda21.pdf

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

Il existe plusieurs façons de télécharger en utilisant la ligne de commande dans Windows :

  1. Vous pouvez utiliser Cygwin .

  2. En utilisant telnet, il est possible de faire une demande mais vous ne verrez aucun traitement.

  3. Vous pouvez écrire des scripts bat ou VBS.

  4. Ecrivez votre propre programme que vous pouvez exécuter à partir de cmd.exe.

0
0
0
2014-08-29 23:15:15 +0000

Si vous avez installé python, voici un exemple qui va chercher le fichier get-pip.py sur le web

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

Dans la version par défaut de Windows, vous ne pouvez pas télécharger via HTTP. Windows est un système d'exploitation centré sur l'interface graphique, il lui manque donc de nombreux outils en ligne de commande que vous trouverez dans d'autres systèmes d'exploitation, comme wget, qui serait le candidat idéal.

System.Net.WebClient.DownloadFile(), une fonction de l'API de WiniNet, peut télécharger des fichiers, mais je ne sais pas jusqu'où vous irez dans le développement réel par rapport à un fichier batch.