J'essaie de télécharger un fichier à partir d'un site Web (ex. Http://www.example.com/package.zip ) à l'aide d'un fichier batch Windows. J'obtiens un code d'erreur lorsque j'écris la fonction ci-dessous:
xcopy /E /Y "http://www.example.com/package.zip"
Le fichier de commandes ne semble pas aimer le "/" après le http. Existe-t-il des moyens d'échapper à ces caractères pour ne pas supposer qu'il s'agit de paramètres de fonction?
Réponses:
Avec PowerShell 2.0 (Windows 7 préinstallé), vous pouvez utiliser:
À partir de PowerShell 3.0 (Windows 8 préinstallé), vous pouvez utiliser
Invoke-WebRequest
:À partir d'un fichier batch, ils sont appelés:
(PowerShell 2.0 est disponible pour l'installation sur XP, 3.0 pour Windows 7)
la source
.bat
et des.ps1
fichiers peut vraiment gâcher vos affaires.Il existe un composant Windows standard qui peut réaliser ce que vous essayez de faire: BITS . Il est inclus dans Windows depuis XP et 2000 SP3.
Courir:
Le nom du travail est simplement le nom d'affichage du travail de téléchargement - définissez-le sur quelque chose qui décrit ce que vous faites.
la source
bitsadmin
n'est pas disponible dans Windows XP Édition familiale.Cela peut être un peu hors sujet, mais vous pouvez assez facilement télécharger un fichier à l'aide de Powershell . Powershell est fourni avec des versions modernes de Windows afin que vous n'ayez pas à installer de choses supplémentaires sur l'ordinateur. J'ai appris à le faire en lisant cette page:
http://teusje.wordpress.com/2011/02/19/download-file-with-powershell/
Le code était:
la source
System
deSystem.Net.WebClient
La dernière fois que j'ai vérifié, il n'y a pas de commande de ligne de commande pour se connecter à une URL à partir de la ligne de commande MS. Essayez wget pour Windows:
http://gnuwin32.sourceforge.net/packages/wget.htm
ou URL2File:
http://www.chami.com/free/url2file_wincon.html
Sous Linux, vous pouvez utiliser "wget".
Vous pouvez également essayer VBScript. Ils sont comme des programmes de ligne de commande, mais ce sont des scripts interprétés par l'hôte de scripts wscript.exe. Voici un exemple de téléchargement d'un fichier à l'aide de VBS:
/server/29707/download-file-from-vbscript
la source
Téléchargement de fichiers dans PURE BATCH ...
Sans JScript, VBScript, Powershell, etc ... Seulement du pur Batch!
Certaines personnes disent qu'il n'est pas possible de télécharger des fichiers avec un script batch sans utiliser de JScript ou VBScript, etc ... Mais ils se trompent définitivement!
Voici une méthode simple qui semble fonctionner assez bien pour télécharger des fichiers dans vos scripts batch. Il devrait fonctionner sur presque toutes les URL de fichiers. Il est même possible d'utiliser un serveur proxy si vous en avez besoin.
Pour télécharger des fichiers, nous pouvons utiliser BITSADMIN.EXE à partir du système Windows. Il n'est pas nécessaire de télécharger / installer quoi que ce soit ou d'utiliser n'importe quel JScript ou VBScript, etc. Bitsadmin.exe est présent sur la plupart des versions de Windows, probablement de XP à Windows 10.
Prendre plaisir!
USAGE:
Vous pouvez utiliser la commande BITSADMIN directement, comme ceci:
bitsadmin /transfer mydownloadjob /download /priority FOREGROUND "http://example.com/File.zip" "C:\Downloads\File.zip"
Serveur proxy:
pour vous connecter à l'aide d'un proxy, utilisez cette commande avant de télécharger.
bitsadmin /setproxysettings mydownloadjob OVERRIDE "proxy-server.com:8080" "<local>"
Cliquez sur ce LIEN si vous voulez plus d'informations sur BITSadmin.exe
DEPANNAGE:
Si vous obtenez cette erreur: «Impossible de se connecter à BITS - 0x80070422»
Assurez-vous que le service Windows «Service de transfert intelligent en arrière-plan (BITS)» est activé et réessayez. (Il doit être activé par défaut.)
FONCTIONS PERSONNALISÉES
Call :DOWNLOAD_FILE "URL"
Call :DOWNLOAD_PROXY_ON "SERVER:PORT"
Call :DOWNLOAD_PROXY_OFF
J'ai créé ces 3 fonctions pour simplifier les commandes bitsadmin. C'est plus facile à utiliser et à retenir. Cela peut être particulièrement utile si vous l'utilisez plusieurs fois dans vos scripts.
VEUILLEZ NOTER ...
Avant d'utiliser ces fonctions, vous devrez d'abord les copier de CUSTOM_FUNCTIONS.CMD à la fin de votre script. Il existe également un exemple complet: DOWNLOAD-EXAMPLE.CMD
: DOWNLOAD_FILE "URL"
La fonction principale, va télécharger des fichiers depuis l'URL.
: DOWNLOAD_PROXY_ON "SERVER: PORT"
(facultatif) Vous pouvez utiliser cette fonction si vous devez utiliser un serveur proxy.
L'appel de la fonction: DOWNLOAD_PROXY_OFF désactivera le serveur proxy.
EXEMPLE:
CALL :DOWNLOAD_PROXY_ON "proxy-server.com:8080"
CALL :DOWNLOAD_FILE "http://example.com/File.zip" "C:\Downloads\File.zip"
CALL :DOWNLOAD_PROXY_OFF
CUSTOM_FUNCTIONS.CMD
TELECHARGER-EXEMPLE.CMD
la source
puis
ou double-cliquez dessus pour tester dans Windows
la source
AFAIK, Windows n'a pas d'outil de ligne de commande intégré pour télécharger un fichier. Mais vous pouvez le faire à partir d'un VBScript, et vous pouvez générer le fichier VBScript à partir d'un lot en utilisant l'écho et la redirection de sortie:
Plus d'explications ici
la source
Téléchargez Wget à partir d'ici http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe
Puis installez-le.
Ensuite, créez un fichier .bat et mettez-le dedans
Ajustez l'URL et le chemin du fichier dans le script
la source
Vous ne pouvez pas utiliser xcopy sur http. Essayez de télécharger wget pour Windows. Cela peut faire l'affaire. Il s'agit d'un utilitaire de ligne de commande pour le téléchargement non interactif de fichiers via http. Vous pouvez l'obtenir sur http://gnuwin32.sourceforge.net/packages/wget.htm
la source
Si bitsadmin n'est pas votre tasse de thé, vous pouvez utiliser cette commande PowerShell:
la source
Utilisez Bat To Exe Converter
Créez un fichier batch et mettez-y quelque chose comme le code ci-dessous
ou
et le convertir en exe.
la source
Au lieu de wget, vous pouvez également utiliser aria2 pour télécharger le fichier à partir d'une URL particulière.
Voir le lien suivant qui vous en expliquera plus sur aria2:
https://aria2.github.io/
la source
BATCH ne pourra peut-être pas faire cela, mais vous pouvez utiliser JScript ou VBScript si vous ne souhaitez pas utiliser d'outils qui ne sont pas installés par défaut avec Windows.
Le premier exemple de cette page télécharge un fichier binaire dans VBScript: http://www.robvanderwoude.com/vbstech_internet_download.php
Cette réponse SO télécharge un fichier en utilisant JScript (IMO, le meilleur langage): Windows Script Host (jscript): comment télécharger un fichier binaire?
Votre script batch peut alors simplement appeler un JScript ou VBScript qui télécharge le fichier.
la source
Cela devrait fonctionner, j'ai fait ce qui suit pour un projet de serveur de jeu. Il téléchargera le zip et l'extrayera dans le répertoire que vous spécifiez.
Enregistrer sous nom.bat ou nom.cmd
Original: https://github.com/C0nw0nk/SteamCMD-AutoUpdate-Any-Gameserver/blob/master/steam.cmd
la source
J'ai trouvé ce script VB:
http://www.olafrv.com/?p=385
Fonctionne comme un charme. Configuré comme une fonction avec un appel de fonction très simple:
Originaire de: http://www.ericphelps.com/scripting/samples/BinaryDownload/index.htm
Voici le code complet de la redondance:
la source
Cette question a une très bonne réponse ici . Mon code est purement basé sur cette réponse avec quelques modifications.
Enregistrer ci-dessous l'extrait de code sous wget.bat et placez-le dans votre chemin système (par exemple, placez-le dans un répertoire et ajoutez ce répertoire au chemin système.)
Vous pouvez l'utiliser dans votre cli comme suit:
wget url/to/file [?custom_name]
où
url_to_file
est obligatoire etcustom_name
facultatifL'URL du fichier et les noms de fichiers enregistrés sont affichés en texte de couleur ansi. Si cela vous pose problème, vérifiez ce projet github.
PS Ce code nécessite l'installation de PowerShell.
la source
Vous pouvez configurer une tâche planifiée à l'aide de wget, utilisez le champ «Exécuter» dans la tâche planifiée comme:
la source
Il existe un utilitaire (résidant avec CMD) sur Windows qui peut être exécuté à partir de CMD (si vous avez un accès en écriture):
Application Windows intégrée. Pas besoin de téléchargements externes.
Testé sur Win 10
la source
utilisez ftp:
Modifiez tout dans les astérisques pour l'adapter à votre situation.
la source