Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 6 sur 9
Aller à la page: <  1, 2, 3, 4, 5, 6, 7, 8, 9  >
Télécharger, convertir et renommer
Auteur Message
Répondre en citant
Message Télécharger, convertir et renommer 
Revue du message précédent :

yassinco a écrit:
ton lien ne marche pas chez moi :s il marche si je rajoute ".xml" a la fin ( le premier lien que tu m'as envoyé plus haut marche nickel aussi, sauf j'arrive pas a le telecharger Sad )


je ne sais pas pourquoi le lien a été coupé mais en effet il faut le xml à la fin :
http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/101.xml

Bref, pour la présentation, il faut la faire ans le sujet fait pour ça :
http://batch.xoo.it/f4-Presentations.htm

tu as reçus un message normalement qui te l'indique

si ça fonctionne alors c'est bon non ?

Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Télécharger, convertir et renommer 
Ok ça marche thesientific001, donne moi juste un peu de temps, la je suis au boulot Mort de Rire


et sinon, chasseur1044, Çà marche Very Happy

je ne sais pas pourquoi mais sur mes lien j'avais pas toute la première partie " openIcecat-xml:freeaccess@ " du coups j'ai repris ton lien avec .xml a la fin http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/101.…


et ça marche nickel , MERCI beaucoup Okay



Répondre en citant
Message Télécharger, convertir et renommer 
Pas de soucis.
Je ne sais pas non plus d'où tu sort ton lien ^^

Bonne chance pour ton stage.
Soutien stagiaire oblige.

Bonne continuation



Répondre en citant
Message Télécharger, convertir et renommer 
Haha Mercii Very Happy

J'aurai surement d'autres petits soucis, je reviendrai t’embêter Smile bisou Wink



Répondre en citant
Message Télécharger, convertir et renommer 
J'ai encore une petite question Smile

dans mon fichier URL.txt :

+ au lieu de mettre tous mes liens de cette facon :
http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/101.…
http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/102.…
http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/103.…
etc...

ça serait possible de mettre un paramètre "i", et l’incrémenter dans une boucle [101:201]??

http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/i.xml



Répondre en citant
Message Télécharger, convertir et renommer 
ça doit être possible en effet.
Comment ? bonne question...

Ton dernier lien je ne le voit pas, quand tu mets un lien, pour qu'il s'affriche en entier et qu'il ne soit pas coupé, mets toi même les balises url stp.
Edit et tu verras ce que je veux dire.

Sinon pour incrémenter...
Je pense qu'il faut que tu prennes la base de ton lien :
http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/

ensuite tu fais une boucle en incrémentant x de 101 à 201
à chaque fois dans ta boucle tu ajoute ce nombre à ton lien et le .xml
et à chaque fois tu l'écrit dans le fichier.
Alors je vais être franc, je suis très mauvais en code...
En algo ça va, mais en code (absurde en soit car l'algo est le plus dur ^^)

en gros tu aurai un truc du style :
Code:
string lien = "http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/";
int x=101;
for (i = 1, x != 201, i++) {
x = x + i;
lien+x+".xml">"url.txt"
}


en faisant je pense de gros mélanges de langages ^^
MAis je te donne au moins l'idée, tu n'as plus qu'à l'adapter dans le bon langage :-p
mais en ce moment je suis sur du java et de l'apex (salesforce) en même temps avec une pincée de batch pour mon script qui me fait encore des caprices... donc je me perd un peu.
Mais en gros voilà l'idée que je te propose.

EDIT :
A vérifier, je ne sais pas si le simple > n'écrase pas à chaque fois, et donc il faut peut être le doubler pour insérer à la suite, je ne me souviens plus, surement que c'est pas > mais >>

On va attendre l'avis d'un expert.
Ne pas oublier que mon niveau de programmation est de 1%



Répondre en citant
Message Télécharger, convertir et renommer 
Effectivement, j'avais remarqué pour le lien et je l'ai modifié avant ( j’espère que j'ai fais ce qu'il fallait faire :p )

et sinon, bravo, c'est exactement ce que je cherche a faire, maintenant faut juste bien écrire le code ^^

Je rajoute ce code (si j'arrive a bien le faire Very Happy ) dans ta partie "téléchargement" ?? ( à quel niveau ?)



Répondre en citant
Message Télécharger, convertir et renommer 
Alors là...
Pour l'ajout du code, il va falloir le faire dans la partie téléchargement en effet.
Lais si tu n'as besoin que du téléchargement, tu peux déjà supprimer le reste du code.
Tu n'auras donc que ça (merci Temp ) :

Code:
@echo off
:: on définit ici les variables si je ne me trompe pas (le nom du script qui va être généré et qui va télécharger et le nom du .txt qui va contenir les urls)
set "url_name=url.txt"
set "vbs_downloader_name=vbs_downloader_engine"
:: là on va verifier que url.txt exist, sinon il te le dit
if not exist "%url_name%" echo error, "%url_name%" n'exist pas! & pause& goto :eof
call :gen_downloader
:: même chose on vérifie que le .vbs est bien créé
if not exist "%vbs_downloader_name%" echo error, "%vbs_downloader_name%" n'exist pas! & pause& goto :eof
::Maintenant si tout ce passe bien, on traite les urls
for /f "usebackq tokens=*" %%i in ("%url_name%") do call :download_file "%%~i"
del "%vbs_downloader_name%"

goto :eof

:download_file
echo downloading "%~1"
cscript //nologo //e:vbscript "%vbs_downloader_name%" "/input:%~1" "/output:%~nx1"
if errorlevel 1 echo error
goto :eof


:: à partir de la on créé un fichier .vbs qui est en fait le script qui va télécharger nos url, donc tout ça tu n'as pas à le toucher
:gen_downloader
(
echo.function getFileName^(content^)
echo.  if content= "" then
echo.    getFileName= ""
echo.    exit function
echo.  end if
echo.  set regEx= CreateObject^("VbScript.Regexp"^)
echo.  regEx.Pattern= "filename=\x22([^\x22]+)\x22"
echo.  getFileName= ^(regEx.Execute^(content^)^)^(0^).SubMatches^(0^)
echo.end function
echo.
echo.function main^(^)
echo.  target_link= WScript.Arguments.Named^("input"^)
echo.  set XMLObject= CreateObject^("MSXML2.XMLHTTP"^)
echo.  XMLObject.open "GET", target_link, false
echo.  XMLObject.send^(^)
echo.  if XMLObject.status = 200 then
echo.    set ADOStream= CreateObject^("ADODB.Stream"^)
echo.    ADOStream.open
echo.    ADOStream.Type= 1' option_type_binary
echo.    ADOStream.Write XMLObject.ResponseBody
echo.    file_save_name= getFileName^(XMLObject.getResponseHeader^("Content-Disposition"^)^)
echo.    if file_save_name= "" then
echo.      file_save_name = WScript.Arguments.Named^("output"^)
echo.    end if
echo.    ADOStream.SaveToFile file_save_name, 2 'option_save_and_overwrite
echo.    errorlevel=Err.Number
echo.    AdoStream.Close
echo.  end if
echo.    main= errorlevel
echo.end function
echo.
echo.WSCript.Quit^(main^(^)^)
)>"%vbs_downloader_name%"
goto :eof


Et en ce qui concerne où ajouter ce bout de code, je te dirai qu'il faut le mettre au début du code.
Je vais essayer de mettre un ou deux commentaire comme je peux en fonction de ce que j'ai compris du code.

Donc ton ajout se fait au début, c'est la première étape que de remplir le fichier url.txt

Donc je dirai juste après le @echo off


EDIT :
Tu verras plus facilement en copiant ça dans notepad++ et en enregistrant en .bat
se seront les lignes vertes (précédées de :Smile



Répondre en citant
Message Télécharger, convertir et renommer 
Après vérification, pour le premier truc que tu vas inscrire dans ton fichier, il faudra un simple >
en revanche pour la suite se sera un double >>
Donc le premier lien met le en dehors de la boucle, ou alors met le directement à la main dans le fichier, je pense que se sera plus simple.

En ce qui concerne l'écriture, il faudrait que quelqu'un te le confirme, mais je pense que le echo est necessaire.

donc si je résume

Code:

set lien=http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/
set ext=.xml
set x=101
echo %lien%%x%%ext% > %url_name%
for (i = 1, x != 201, i++) {
x = x + i;
echo %lien%%x%%ext% >> %url_name%
}


sauf que je ne suis pas sur du tout du langage
le set n'est peut être pas approprié pour le x
je débute en batch donc faut attendre les experts...



Répondre en citant
Message Télécharger, convertir et renommer 
j'ai essayé un peu mais rien n'y fait...
(ok pas trop eu le temps de vraiment m'y pencher ^^)

Code:
@echo off
set "url_name=url.txt"
set lien=http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/
set ext=.xml
set x=101
echo %lien%%x%%ext% > %url_name%
:: à partir de là tu dois corriger.
set x+=1
for %x% NEQ 201 echo %lien%%x%%ext% >> %url_name%


ça te met bien le premier lien dans le doc, en revanche la boucle je ne maîtrise pas en batch.
Je te laisse te documenter un peu dessus, ça doit pas être sorcier.
à mon avis en 5 minutes tu dois pouvoir trouver.

Moi j'ai envie de rentrer chez moi ^^
bonne soirée



Répondre en citant
Message Télécharger, convertir et renommer 
si tu arrives à incrémenter le x tu as gagné

mais cette fois j'y vais

Code:
@echo off
set "url_name=url.txt"
set lien=http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/
set ext=.xml
set x=101
echo %lien%%x%%ext% > %url_name%
for /l %%x in (101, 1,201) do set /a x+=1 & echo %lien%%x%%ext%>> %url_name%




Répondre en citant
Message Télécharger, convertir et renommer 
Bonjour,

Moi j'étais déjà partie Mort de Rire

Merci beaucoup pour ton aide, j'ai modifié un peu ton code ce matin et ça marche nickel Okay

Je vous laisse le résultat ça pourrait aider quelqu'un Smile

Code:
 @echo off
set "url_name=url.txt"
set lien=http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/
set ext=.xml
set x=101
echo %lien%%x%%ext% > %url_name%

 :debut
 if %x%==201 goto fin
 set /a x=%x%+1
 echo %lien%%x%%ext%>> %url_name%
 goto debut
 :fin 



Maintenant, il reste a le rajouter au code de téléchargement.... Mr. Green




Edit: Peut tu m'expliquer brièvement la différence entre ton " :download_file " et " :gen_downloader " dans la partie téléchargement Surprised



Répondre en citant
Message Télécharger, convertir et renommer 
OK tu l'incrémente comme ça.
Mais je ne comprend pas pourquoi moi il ne voulait pas me l'incrémenter mon x...
Malin l'utilisation des étiquettes et du goto pour faire la boucle.

Pour ce qui est de :

[list=]:gen_downloader[/list]
il va générer un fichier .vbs du nom de vbs_downloader_engine.vbs

temp m'a fait ça car je ne voulait pas 36 scripts, donc le fichier va créer un autre fichier en fait.

Maintenant :
[list=]:download_file[/list]
Lui il permet de lancer le vbs_downloader_engine.vbs si je ne dis pas de bêtises.
Donc il exécute le script qui est généré.

En espérant avoir été clair.



Répondre en citant
Message Télécharger, convertir et renommer 
Merci chasseur, mais d’après ce que j'ai compris, c'est un peu spécial ton code, enfin plutôt tes URL.

Du coup je reste sur un code plus simple. J'ai rajouté la partie création du fichier .txt contenant les url et tout marche nickel Okay

Je laisse mon code Smile

Encore Merci Mr. Green

Code:
@echo off
mode con cols=100 lines=8 & color 9B

 :: Préparation du fichier URL.txt

Set Fichier=URL.txt
set lien=http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/
set ext=.xml
set x=101
echo %lien%%x%%ext% > %Fichier%

 :debut
 if %x%==111 goto fin
 set /a x=%x%+1
 echo %lien%%x%%ext%>> %Fichier%
 goto debut
 :fin

:: Téléchargement des URL
 
Set Source=%~dp0
Set DownloadFolder=MyDownloadFolder
Set Destination=%Source%%DownloadFolder%
if not exist %DownloadFolder% MD %DownloadFolder%
 
for /F "delims=" %%i in (%Fichier%) do (call:download "%%i" "%~dp0MyDownloadFolder\%%~ni%%~xi")
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.exe "%~dpn0.vbs"
del "%~dpn0.vbs" >nul




Répondre en citant
Message Télécharger, convertir et renommer 
Oui j'ai des URL qui sont pénibles, si tu n'as pas des url chiantes les tous premiers codes proposés par hackoo sont amplement suffisants.

Félicitation pour ton script.
Bonne continuation.



Répondre en citant
Message Télécharger, convertir et renommer 
Salut et bienvenue parmi nous Wink Yassinco
Petite mise à jour au niveau de l'affichage de la console Laughing
Bonne Continuation Okay

Code:
@echo off
mode con cols=50 lines=8 & color 9B
:: Préparation du fichier URL.txt
Set Fichier=URL.txt
set lien=http://openIcecat-xml:freeaccess@data.icecat.biz/export/freexml.int/FR/
set ext=.xml
set x=101
echo %lien%%x%%ext% > %Fichier%

 :debut
 if %x%==111 goto fin
 set /a x=%x%+1
 echo %lien%%x%%ext%>> %Fichier%
 goto debut
 :fin

:: Téléchargement des URL
Title Telechargement des URL en XML
Set Source=%~dp0
Set DownloadFolder=MyDownloadFolder
Set Destination=%Source%%DownloadFolder%
if not exist %DownloadFolder% MD %DownloadFolder%
 for /F "delims=" %%i in (%Fichier%) do (call:download "%%i" "%~dp0MyDownloadFolder\%%~ni%%~xi" & echo Telechargement de %%~ni%%~xi)
 :: Ouvrir le dossier de telechargement
 Start %Destination%
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",2) >"%~dpn0.vbs"
cscript.exe //NoLogo "%~dpn0.vbs"
del "%~dpn0.vbs" >nul





______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message Télécharger, convertir et renommer 
Trop fort Hackoo , Merciii Mr. Green



Message Télécharger, convertir et renommer 


Montrer les messages depuis:
Répondre au sujet Page 6 sur 9
Aller à la page: <  1, 2, 3, 4, 5, 6, 7, 8, 9  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch