Batch downloader

Fermé
chasseur1044 Messages postés 65 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 26 août 2014 - 10 juil. 2014 à 11:28
 chasseur1044 - 6 oct. 2014 à 08:50
Bonsoir,

Je vois sur une question que cette solution a été apportée sur Comment télécharger à partir d'un batch.
Mon problème est le suivant :
J'ai 100 URL à télécharger, est il possible de faire ça en stockant les URL dans un fichier txt ?

J'avais posé la question, mais la solution ne me convenait pas car pour chaque URL un onglet du navigateur s'ouvre et une confirmation est demandée.

Voici le code sur lequel je voudrais partir.

La toute première question que je poserai est :
Pour commencer comment mettre mon propre lien à télécharger ?
j'ai modifier l'url donnée mais ça m'a juste créé une icône sur le bureau avec rien...

Comment définir le répertoire de destination ?
Entre autre ici je voudrai que ça se télécharge dans le dossier ou se situe le .bat

Comment stocker les URL dans un fichier .txt pour ne pas avoir à modifier le code à chaque fois ?

J'espère avoir été clair et pas trop pompeux.
Merci par avance.

Le code de départ est le suivant.

@echo off
call:download "http://www.google.fr/images/srpr/logo3w.png" "%~dp0logo3w.png"
exit /b

:download
(echo src = "%~1"
echo Set v1 = CreateObject ("MSXML2.XMLHTTP"^)
echo Set v2 = CreateObject ("ADODB.Stream"^)
echo v1.open "GET", src, false
echo v1.send (^)
echo v2.open
echo v2.Type = 1
echo v2.Write v1.ResponseBody
echo v2.SaveToFile "%~2") >"%~dpn0.vbs"
cscript "%~dpn0.vbs"
del "%~dpn0.vbs" >nul
goto:eof
A voir également:

2 réponses

OeufsAuRiz Messages postés 8 Date d'inscription vendredi 5 septembre 2014 Statut Membre Dernière intervention 11 septembre 2014 1
11 sept. 2014 à 00:51
Au pire, je connais un logiciel "Free Download Manager" qui pourrait te permettre de faire ça avec le fichier configuré comme cela :
"URL1
URL2
..."

Tu trouveras facilement l'option pour télécharger à partir du fichier texte.

Si tu trouves pas cette option, je te la détaillerais alors.

Ca ne résout pas ton problème mais ça peut être une alternative en attendant une solution pour ton fichier batch.
1
OeufsAuRiz Messages postés 8 Date d'inscription vendredi 5 septembre 2014 Statut Membre Dernière intervention 11 septembre 2014 1
11 sept. 2014 à 01:05
Et pour le batch, je connais wget sur linux qui est excellent en ligne de commande et il existe son équivalent Windows.

Passe une bonne soirée.
0
chasseur1044
6 oct. 2014 à 08:50
Salut, désolé je vois seulement ta réponse :/
Merci, je vais regarder ça
0
dubcek Messages postés 18724 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 15 mai 2024 5 615
10 juil. 2014 à 13:08
hello
le répertoire de destination dépend de la configuration du navigateur, donc avec Firefox, par ex. il faudrait aller modifier prefs.js, un peu lourd, non ?
0
chasseur1044 Messages postés 65 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 26 août 2014 4
10 juil. 2014 à 13:22
Salut dubcek.

Toujours toi qui viens aider ^^
Lourd, je ne sais pas, je ne connais pas du tout.
Mais si je partage le programme avec 10 personnes, que à chaque utilisation elles doivent modifier puis remettre comme avant...
Mieux vaut s'embêter une fois sur le script non ?

Et concernant la modification pour obtenir le bon lien ?
0
dubcek Messages postés 18724 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 15 mai 2024 5 615
10 juil. 2014 à 15:25
les URLs dans un fichier ?
on peut faire une boucle for
for /f "delims=" %%a in (liste-url.txt) do (
la variable %%a contient l'url
)
0
chasseur1044 Messages postés 65 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 26 août 2014 4
10 juil. 2014 à 15:28
ça oui je l'avais eu sur une autre question.
Mais comment on le met dans ce code ?
0
dubcek Messages postés 18724 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 15 mai 2024 5 615
10 juil. 2014 à 15:52
for /f "delims=" %%a in (liste-url.txt) do (
le code ici
)
0
chasseur1044 Messages postés 65 Date d'inscription lundi 16 juin 2014 Statut Membre Dernière intervention 26 août 2014 4
10 juil. 2014 à 15:54
Donc si je fais

for /f "delims=" %%a in (liste-url.txt) do (

@echo off
call:download "http://www.google.fr/images/srpr/logo3w.png" "%~dp0logo3w.png"
exit /b

:download
(echo src = "%~1"
echo Set v1 = CreateObject ("MSXML2.XMLHTTP"^)
echo Set v2 = CreateObject ("ADODB.Stream"^)
echo v1.open "GET", src, false
echo v1.send (^)
echo v2.open
echo v2.Type = 1
echo v2.Write v1.ResponseBody
echo v2.SaveToFile "%~2") >"%~dpn0.vbs"
cscript "%~dpn0.vbs"
del "%~dpn0.vbs" >nul
goto:eof
)

tu penses que ça fonctionne ?
0