Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Téléchargement automatique d' un fichier sur un site WEB avec un script VBS

16 réponses
Avatar
news.free.fr
Bonsoir à tous,
Peut t'on à l'aide d'un script VBS téléchargé automatiquement un fichier
sur un site WEB, si oui quelle sont les lignes de commandes.
D'avance je vous remercie de votre colaboration....

6 réponses

1 2
Avatar
Jean-Claude BELLAMY
Dans le message news:431c58ee$0$1004$ ,
Bertrand Lenoir-Welter s'est ainsi exprimé:


Je cherche plus simple encore : une mini-fenêtre avec juste une barre
de progression, et à la rigueur l'affichage de l'URL et un bouton
stop. [...]
Le but est juste de télécharger un fichier unique
depuis une URL et rien d'autre.



Et mon script "HTTPget.vbs", il ne te plait pas ? ;-)
(posté ce jour même à 9h45)
En ligne de commande, évident à utiliser,
Et avec 12 lignes de code, il est difficile de faire plus léger ! ;-)

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*
Avatar
rm
Le lundi 5 septembre 2005 à 19:21:13, Jean-Claude BELLAMY a écrit :

Salut,

Et avec 12 lignes de code, il est difficile de faire plus léger ! ;-)



en VBS probablement, mais en AutoIt (ça ne répond pas à la requête de l'OP,
je sais), *deux lignes suffisent* :) pour faire exactement la même chose,
compilable en HTTPGet.exe, si besoin :

-------------- HTTPGet.au3 --------------
; Syntaxe HTTPGet.exe <url> <destination>
If $CmdLine[0] <> 2 Then Exit
InetGet($CmdLine[1], $CmdLine[2])
-------------- HTTPGet.au3 --------------

mais, pour avoir une "mini-fenêtre avec au moins une barre de progression"
et un minimum de "contrôles", il faut rajouter quelques (trop?) lignes
comme :

-------------- Télécharger.au3 --------------
#include <GUIConstants.au3>

$url = "http://site.tld/chemin/fichier.ext" ; à modifier !
; ou $url = $CmdLine[1] si l'url est passée en argument par exemple
$fic = "fichier.ext" ; à modifier !
; ou $fic = $CmdLine[2] si l'url est passée en second argument ou encore
$fic = FileSaveDialog( "Enregistrer sous...", @MyDocumentsDir, "Tous
fichiers (*.*)",3) pour choisir un chemin destination...

MsgBox (0, "Téléchargement", "Vous allez télécharger:" & @CRLF & $url &
@CRLF & "et l'enregistrer sous :" & @CRLF & @WorkingDir & "" &
FileGetLongName($fic))

GUICreate("Téléchargement",220,100, 100,200)
$progression = GUICtrlCreateProgress (10,20,200,20,$PBS_SMOOTH)
$bouton = GUICtrlCreateButton ("Télécharger",75,70,70,20)
GUISetState ()
do
$msg = GUIGetMsg()
If $msg = $bouton Then
GUICtrlSetData ($bouton, "Connexion...")
GUICtrlSetState($bouton,$GUI_DISABLE)
$taille = InetGetSize ( $url )
If @error = 1 Then
MsgBox (0,"Oups, problème...", "Impossible d'accèder à " & @CRLF & $url &
@CRLF & "Terminé.")
Exit
EndIf
InetGet($url, $fic, 1, 1) ;téléchargement de $url dans $fic
GUICtrlSetState($bouton,$GUI_ENABLE)
GUICtrlSetData ($bouton, "Annuler")

Do
$m = GUIGetMsg ()
If $m = -3 Then ExitLoop
If $m = $bouton Then
InetGet( "abort" )
FileDelete ( $fic )
MsgBox (0,"Téléchargement", "Téléchargement interrompu" & @CRLF &
"Fichier " & $fic & " supprimé.")
Exit
Else
$recu = FileGetSize ( $fic )
GUICtrlSetData ($progression, $recu / $taille * 100)
EndIf
Until @InetGetActive = 0

MsgBox (0, "Téléchargement", "Téléchargement terminé avec succès" )
Exit

EndIf
until $msg = $GUI_EVENT_CLOSE
-------------- Télécharger.au3 --------------

Il doit être possible de faire la même chose en VBS, mais je n'intuite pas
trop VBS ;-P

@+
--
rm
http://foxmail.free.fr
Avatar
Bertrand Lenoir-Welter
Désolé, je capte que dalle aux scripts. Je suis un codeur C++ intégriste
et je sais pas comment on peut fabriquer un exe avec votre machin. Je
doute pas que ça marche, hein, mais je sais pas faire.

Si quelqu'un veut bien le faire pour moi, je lui envoie une boîte de
chocolats et je lui baise les pieds par Net interposé.
Avatar
rm
Le lundi 5 septembre 2005 à 22:03:15, Bertrand Lenoir-Welter a écrit :

Désolé, je capte que dalle aux scripts. Je suis un codeur C++ intégriste



question naïve : pourquoi ne pas le faire en C++, alors ?

et je sais pas comment on peut fabriquer un exe avec votre machin. Je



1)installer le machin - 1,7Mo ! - libre et gratuit.
http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe
2)coller ces bouts de "code" dans un nouveau fichier.au3 - enregistrer.
3)clic doit sur ce fichier, choix "Compiler" (c'est loin d'être une
compilation!)
4)lancer le fichier.exe.

si tu préfères les images :
http://www.autoitscript.com/autoit3/docs/tutorials/helloworld/helloworld.htm

doute pas que ça marche, hein, mais je sais pas faire.



n'étant pas plus intégriste que codeur, j'ai quand même fait qques essais :
http://foxmail.free.fr/dl/HTTPGet.exe
http://foxmail.free.fr/dl/HTTPGetGUI.exe ...ça marchote :)

Si quelqu'un veut bien le faire pour moi, je lui envoie une boîte de
chocolats et je lui baise les pieds par Net interposé.



AutoiIt est fourni avec une jolie dll qui pourra, au besoin, être utilisée
dans des langages plus "sérieux" <:o)

@+
--
rm, ka-arétélechokola...
Avatar
Bertrand Lenoir-Welter
Eh ben c'est super. Je suis un codeur C++ intégriste qui a réussi à se
faire son petit script AU3 de téléchargement GUI complètement sur
mesure, et en plus ça marche. Très sympa, ce AutoIt3... Faudra que je
creuse, par exemple pour un petit exe de dézippage des fichiers ainsi
téléchargés, complément d'objet direct du précédent.

Je vous dois quand même une boîte de chocolats. Si, si, c'est sérieux !
Sans vos tuyaux, je l'aurais pas fait. Donnez-moi une adresse postale et
je vous l'envoie illico. Mon e-mail est le bon, à l'année près.

Encore merci.
Avatar
rm
Le Tue, 06 Sep 2005 09:47:16 +0200, Bertrand Lenoir-Welter a écrit :

Eh ben c'est super. Je suis un codeur C++ intégriste qui a réussi à se
faire son petit script AU3 de téléchargement GUI complètement sur
mesure, et en plus ça marche. Très sympa, ce AutoIt3...



bonjour,

ce n'est que du script, hein, ça reste limité et peu performant...
mais c'est suffisamment simple & accessible pour un bricoleur un peu
allergique à la programmation comme moi !

Faudra que je
creuse, par exemple pour un petit exe de dézippage des fichiers ainsi
téléchargés, complément d'objet direct du précédent.



c'est un peu moins simple car AutoIt n'intègre pas encore de fonctions de
compression/décompression donc, soit il faut faire appel à des dll de
windows ou tierces (comme http://files4.rarlab.com/rar/UnRARDLL.exe), soit
"embarquer" dans le script compilé un dézipeur en ligne de commande
(http://www.info-zip.org/pub/infozip/UnZip.html par exemple) qu'il suffira
de larguer via un :

FileInstall( "unzip.exe", @TempDir & "unzip.exe", 1 )

puis de lancer la décompression du fichier téléchargé via un :

RunWait( @TempDir & "unzip.exe -o " & FileGetShortName ( $fic ) )

NB: parfois, les antivirus n'aiment pas trop ce genre de script qui
"droppent" du .exe


Je vous dois quand même une boîte de chocolats. Si, si, c'est sérieux !



moi aussi je suis "sérieux": j'ai arrêté la drogue dure et noire :-P

Sans vos tuyaux, je l'aurais pas fait. Donnez-moi une adresse postale et
je vous l'envoie illico. Mon e-mail est le bon, à l'année près.
Encore merci.



un tutoiement me suffira :)

@+
--
rm
1 2