commande If Exist via un serveur internet

commande If Exist via un serveur internet - Shell/Batch - Programmation

Marsh Posté le 30-12-2006 à 18:59:41    

Bonjour a tous  :)  
 
Apres avoir fait une recherche ( sans trouver ) je m'adresse a vous ^^
 
Voila , je voudrais savoir s'il existe avec la commande "If exist" , un moyen de l'utiliser pour verifier si un fichier est sur un site internet genre :
 
If exist "http://monsite/mon-fichier-a-verifier.fr" goto etc
 
ou alors une autre commande qui puisse soit verifier qu'un fichier est present sur un site , soit une commande pour telecharger le fichier du site a un endroit precis sur le pc  :)  
 
Merci bien d'avance ;)
 
Bonne soirée :)

Reply

Marsh Posté le 30-12-2006 à 18:59:41   

Reply

Marsh Posté le 30-12-2006 à 19:30:47    

je ne connaisais pas l'existance du goto et de exist en shell/batch
Moi je crois pas que ce que tu demande existe.
Mais l'un des principes des shell/batch etant entre autre d'executer des commandes externes,
peut-etre trouvera-tu le programme ad hoc pour ton système d'exploitation.
Je peux t'en ecrire un  

Reply

Marsh Posté le 30-12-2006 à 19:31:57    

payes a écrit :

Bonjour a tous  :)  
 
Apres avoir fait une recherche ( sans trouver ) je m'adresse a vous ^^
 
Voila , je voudrais savoir s'il existe avec la commande "If exist" , un moyen de l'utiliser pour verifier si un fichier est sur un site internet genre :
 
If exist "http://monsite/mon-fichier-a-verifier.fr" goto etc
 
ou alors une autre commande qui puisse soit verifier qu'un fichier est present sur un site , soit une commande pour telecharger le fichier du site a un endroit precis sur le pc  :)  
 
Merci bien d'avance ;)
 
Bonne soirée :)


 
Pour ce que j'en connais du MsDos non. Tu peux faire ça en C avec les sockets ou dans des langages plus récents et adaptés au monde du net comme Python...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 30-12-2006 à 19:41:24    

aie ... oki oki merci pour l'info Sve@r :)
 
merci a toi jovalise , mais je dois lancer mon programme sur des machines distantes , et je peux pas installer un ad hoc sur chaque machine , mais merci beaucoup quand meme ;)
 
bonne soirée a vous deux , merci encore ;)

Reply

Marsh Posté le 31-12-2006 à 08:59:57    

Les commandes d'origine du batch ne permettent pas ce que tu veux faire. Mais en téléchargeant un petit exécutable wget.exe ici :
http://users.ugent.be/~bpuype/wget/
 
tu peux réaliser les tâches souhaitées. Cet exécutable est à placer dans le même dossier que ton script ou dans ton PATH.
 
wget --help
pour plus d'infos ;)

Reply

Marsh Posté le 31-12-2006 à 12:30:24    

aie , oki oki , bon ba je vais passer par la alors :)
 
merci beaucoup a tous ceux qui m'ont aider ;)
 
bonne journée a tous et bonne année ;)

Reply

Marsh Posté le 31-12-2006 à 14:01:26    

C'est re moi  :)  
 
Je dois avouer cet éxécutable est assez simpa  :D  
 
Sauf que ... ( se serait pas marrant sinon ...  :sweat:  :pt1cable: ) il y a un pb  
 
Je m'explique :)
 
J'ai un batch nommé dl.bat avec le srcipt : (sachant que dl.bat et wget.exe sont dans C:\test)
 
wget -mnp -nd "http://********.fr/test/test.bat"
start C:\test\test.bat
 
en temps normal ( c a d 10 seconde apres le demarage du pc environ ) tout marche bien , il me dl test.bat , et l'éxécute normalement , mais lorsque que je le place dans C:\....\démarage , ou que je modifie la clé de run pour que dl.bat se lance au demarage du pc , il me dit que la commande wget n'est pas valide ...
 
J'ai essayé de faire "attendre" avant de lancer la commande ( au cas ou le wget.exe ne se lance qu'apres 5 seconde par exemple ) mais rien n'y fait j ai beau le faire attendre 10 seconde ( au bout de 3 ,  4 secondes , dans le gestionnaire des taches je voit le processus wuauclt.exe qui est lancer , ce processus correspond au wget ( enfin je crois , il n'etait pas la avant l'installe :) )) mais rien n'y fait ...
 
Si qqun sait pk , je serais heureux de l'ecouter :d
 
merci d'avance :)
 
bonne journée :)

Reply

Marsh Posté le 31-12-2006 à 14:17:32    

Oki, y a deux moyens :
 
- soit tu modifies le raccourci de dl.bat dans Démarrage pour spécifier le dossier d'exécution = C:\test
 
- soit plus simple, tu indiques le chemin complet de wget.
Comme il est dans le même dossier que le script, tu peux mettre :
"%~dp0wget.exe"
à la place de wget.exe tout court.
 
Ou encore, dans ton script :
setlocal
set PATH=%PATH%;%~dp0
 
wget ....
 
endlocal

Reply

Marsh Posté le 31-12-2006 à 17:09:12    

oki , merci de m'aider ;)
 
J'ai testé et tout marche bien , sauf que ( encore :( ) même si maintenant il trouve la commande et qu'il l'éxécute ,  il ne télécharge tjs pas le fichier.
 
Il me met un joli :
Server file no newer than local file 'test.bat' -- not retrieving.
 
et ensuite :
Donwloaded : 0 bytues in 0 files
 
J'ai aucune idée d'ou ca peut venir ... :s  
 
Aurais tu une idée Nglechau plz ? :)
 
En tout cas merci bien de me venir en aide :)
 
Bonne année a tous et bonne fin de journée ;)

Reply

Marsh Posté le 31-12-2006 à 17:58:10    

C'est à cause de ton option -m (=--mirror), équivalente de -N -r -l inf --no-remove-listing, où -N (--timestamping) = don't re-retrieve files unless newer than local <=> ne pas télécharger sauf si une version plus récente que celle en local existe :)
 
Bonne année !

Reply

Marsh Posté le 31-12-2006 à 17:58:10   

Reply

Marsh Posté le 31-12-2006 à 18:30:54    

okai ! cool merci beaucoup :d
 
une toute dernière petite precision stp et apres juré je te laisses tranquil :D;)
 
le seul pb c'est qu'il télécharge le programme et il le met dans C:\documents and settings...\
 
j'ai regardé le wget --help , mais il y a beaucoup de paramètre et j'en aie pas trouvé un clair avec lequel on pourrait spécifier le chemin de destination ( je pige rien a l'anglais , et encore moins l'anglais informatique :) )
 
donc voila , si tu pouvais m'éclairer la dessus plz , se serait super sympa de ta part , sinon pas de probleme , merci en tt cas pour toutes ces infos ;)
 
++ :)


Message édité par payes le 31-12-2006 à 18:31:31
Reply

Marsh Posté le 31-12-2006 à 18:49:37    

C'est l'option -O qu'il te faut, en donnant le chemin complet (dossier et nom du fichier destinataire) :D
 
Exemple :
wget -O "%~dp0test.bat" [mes_autres_options_si_besoin] "mon_url"

Reply

Marsh Posté le 02-01-2007 à 12:36:52    

okai !!
 
merci beaucoup a toi Nglechau ;)
 
tout marche bien :)
 
merci encore , bonne journée ;)

Reply

Marsh Posté le 02-01-2007 à 13:54:19    

:sol:
 
Pour info, le processus wuauclt.exe que tu as mentionné plus haut ne correspond pas à wget.exe mais à la maj automatique de Windows (wuauclt = Windows Update Automatic Client) ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed