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.
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.
Il existe un cURL natif pour Windows. aquí . Il existe de nombreuses variantes, avec ou sans support SSL.
Vous n'avez pas besoin du bagage supplémentaire de Cygwin et autres, juste un petit fichier EXE.
Il est également important de savoir qu'il existe à la fois wget
y curl
alias intégrés dans toutes les versions modernes de Windows Powershell. Ils sont équivalents.
Aucun fichier ou téléchargement supplémentaire n'est nécessaire pour obtenir le service. wget
fonctionnalité :
Utiliser Curl dans Powershell (The Sociable Geek)
Extrait :
Vous pouvez taper une commande cURL comme celle qui télécharge un fichier à partir d'un dépôt GitHub.
et on aura l'impression que ça marche, mais ce qu'il fait en réalité, c'est simplement utiliser cURL comme un alias. Dans l'exemple ci-dessus, ce qui va se passer est que vous obtiendrez juste les en-têtes au lieu du fichier lui-même.
Les alias dans PowerShell vous permettent de créer des raccourcis pour des commandes plus longues afin de ne pas avoir à les taper tout le temps.
Si vous tapez la commande Get-Alias, vous obtiendrez une liste de tous les alias utilisés dans PowerShell. Comme vous pouvez le constater, la commande curl appelle simplement la commande Invoke-WebRequest. Elles sont similaires mais pas identiques, c'est pourquoi la requête ci-dessus ne fonctionne pas pour nous.
Pour que cela fonctionne correctement dans PowerShell, le plus simple est d'utiliser des variables et la fonction -OutFile
comme indiqué ici :
(nom du fichier coupé dans l'image " https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json ")
Cette syntaxe permet de télécharger le contenu complet du fichier cible. azuredeploy.json
dans le fichier local newfile.json
Le principal avantage est qu'il est intégré à Powershell lui-même, de sorte que ce code s'exécutera directement sans qu'aucun téléchargement ou autre création de fichier supplémentaire ne soit nécessaire pour le faire fonctionner sur toute version moderne de Windows.
J'ai créé un fichier rapide myGet.bat qui appelle la méthode PowerShell décrite ci-dessus.
@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
J'ai emprunté du code à Analyse de l'URL pour un nom de fichier avec un espace .
Pourquoi le downvote ? cela me semble correct et est une réponse directe à la question. Oui, il est maladroit et pourrait être amélioré, comme l'échappement des esperluettes (&) dans l'url, mais il fonctionne tel quel.
Je cherchais la même chose, et comme je n'avais pas le privilège d'installer l'un des paquets ci-dessus, j'ai opté pour une petite solution de contournement (pour télécharger plus de 30 fichiers) :
firefox.exe
au début de chaque ligneProgram Files
Vous pouvez également utiliser le wget
emballé dans PowerShell . ;^) Pour l'ouvrir, appuyez sur la touche Windows et tapez "powershell" ou Windows-R et tapez "powershell" et appuyez sur retour.
Aucune installation n'est nécessaire.
Une différence intéressante par rapport à la convention wget
(plus à ce lien ) : Vous ne pouvez pas simplement utiliser le plus grand que pour envoyer un message à un fichier. wget
dans PowerShell n'est qu'une enveloppe pratique pour Invoke-WebRequest
et vous devez utiliser sa syntaxe pour écrire dans un fichier.
wget https://superuser.com/questions/25538 -OutFile rubySlippers.html
Si PowerShell est une option, c'est la voie préférée, puisque vous n'aurez (potentiellement) pas à installer quoi que ce soit de supplémentaire :
(new-object System.Net.WebClient).DownloadFile('http://www.example.com/file.txt', 'C:\tmp\file.txt')
À défaut, Wget pour Windows, comme d'autres l'ont souligné, est certainement la deuxième meilleure option. Comme indiqué dans une autre réponse, il semble que vous puissiez télécharger Wget tout seul ou vous pouvez le prendre comme une partie de Cygwin o MSys .
Si, pour une raison quelconque, vous vous retrouvez coincé dans une distorsion temporelle, en utilisant une machine qui n'a pas PowerShell y vous n'avez aucun accès à un navigateur web fonctionnel (c'est-à-dire qu'Internet Explorer est le seul navigateur sur le système et que ses paramètres sont corrompus), et votre fichier se trouve sur un site FTP (par opposition à HTTP) :
start->run "FTP", press "OK".
Si ma mémoire est bonne, cette fonction existe depuis Windows 98, et je peux confirmer qu'elle est toujours présente dans Windows 8 RTM (vous devrez peut-être entrer dans le menu de l'application). appwiz.cpl
et ajouter/supprimer des fonctionnalités pour l'obtenir). Cet utilitaire peut à la fois télécharger et envoyer des fichiers vers/depuis des sites FTP sur le web. Il peut également être utilisé dans des scripts pour automatiser l'une ou l'autre opération.
Cet outil intégré m'a sauvé la vie par le passé, surtout à l'époque de ftp.cdrom.com - j'ai téléchargé Firefox de cette façon une fois, sur une machine complètement cassée qui n'avait qu'une connexion Internet par ligne commutée (à l'époque où la taille maximale des paquets de sneakernet était encore de 1,44 Mo, et où Firefox s'appelait encore "Netscape"). /moi fait trollface ).
Quelques conseils : c'est son propre processeur de commande, et il a sa propre syntaxe. Essayez de taper "help". Tous les sites FTP requièrent un nom d'utilisateur et un mot de passe ; mais s'ils autorisent les utilisateurs "anonymes", le nom d'utilisateur est "anonyme" et le mot de passe est votre adresse électronique (vous pouvez en inventer une si vous ne voulez pas être suivi, mais il existe généralement une sorte de logique pour s'assurer qu'il s'agit d'une adresse électronique valide).
+1 pour avoir pensé au ftp en ligne de commande ! Cependant, wget et powershell ont tous deux été mentionnés bien avant que tu ne te joignes à la fête, donc -1 sur ce point :-/.
Les autres réponses powershell que j'ai vues étaient toutes multi-liners et/ou avaient une certaine odeur de code. Ceci est une réponse courte et simple pour télécharger un fichier. -- Je voulais également fournir une réponse qui couvre toutes les bases :-)
Je ne sais pas pourquoi vous avez deux points d'interrogation dans le fichier de destination. C:\tmp\file.tx??t
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.
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 ?
7 votes
@JaimeHablutzel Pourquoi voudriez-vous télécharger quelque chose via MS Word ? MS Word n'est pas un terminal.
0 votes
@B1KMusic regardez la question originale, j'avais le même doute que vous.
0 votes
Si une boîte de dialogue contextuelle pour la destination/l'ouverture est acceptable et provient de l'Internet Explorer "auto-open-closed", vous pouvez utiliser
"%programfiles%/Internet Explorer/iexplore.exe" http://foo.bar/somefile
(devrait fonctionner sur de nombreux systèmes)0 votes
On est en 2016 - assurez-vous de faire défiler les réponses jusqu'à celles qui disent "Powershell". (Exactement la solution intégrée que vous voulez quand vous êtes restreint par IE et que vous essayez d'éviter d'installer des trucs aléatoires sur les serveurs d'un client...).
0 votes
Voici un bon article sur l'utilisation de curl dans PowerShell : thesociablegeek.com/azure/utilisation-curl-in-powershell
1 votes
@SDsolar Ou juste upvote/improve. cette réponse ci-dessous.
0 votes
Compris. Je l'ai fait, avec des instructions complètes qui fonctionneront avec n'importe quelle version moderne de Windows - aucun ajout ou modification n'est nécessaire.