Batch - Probleme de Telechargement de fichier sur un ftp [Résolu/Fermé]

Signaler
Messages postés
42
Date d'inscription
jeudi 4 décembre 2008
Statut
Membre
Dernière intervention
28 janvier 2020
-
Messages postés
42
Date d'inscription
jeudi 4 décembre 2008
Statut
Membre
Dernière intervention
28 janvier 2020
-
Bonjour,
je souhaite envoyer des fichiers sur un FTP , avec une tache planifié mais je n'y arrive pas, pourtant quand je lance le programme manuellement ça marche, je m'explique, sous l'invite de commande je tape :

ftp
open hoteFTp
//il me demande user
Username
//il me demande le mot de passe
Password //login ok proceed
bin
cd /dossiertraitement/soudossiers //il me dit que j'ai changé de repertoire "folder changed to .."
lcd d:\DossierSource //il me confirme //IL ME DIT " dossier local maintenant ..."
mput *.*

bye

apres le mput il me demande une confirmation pour chaque fichier


Puis quand je créer un fichier Traitement.ftp avec:


ftp
open hoteFTp
Username
Password
bin
cd /dossiertraitement/soudossiers
lcd d:\DossierSource
mput *.*
bye

et que je le lance a partir du gestionnaire de tache, et que je créer une tache planifié il me fait rien, est ce normal ? Un grand merci à vous


2 réponses

Messages postés
12649
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
12 juillet 2020
3 351
Bonjour,

Essaie comme ça :

@echo off

set script=%temp%\script.ftp

> %script% ECHO ptisephy
>>%script% ECHO ton_password
>>%script% ECHO lcd d:\DossierSource
>>%script% ECHO cd dossiertraitement\sousdossiers
>>%script% ECHO binary
>>%script% ECHO mput *.*
>>%script% ECHO close
>>%script% ECHO quit

ftp -i -s:%script% hoteFTP

del /f /q %script%

Tu sauvegardes ce script en l'appelant par exemple toto.bat puis tu crées une tâche planifiée pour le lancer.



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Messages postés
42
Date d'inscription
jeudi 4 décembre 2008
Statut
Membre
Dernière intervention
28 janvier 2020

Bonjour,
un grand merci ça marche tres bien !

J'ai testé la commande suivante car à un autre moment je récupère des fichiers d'un ftp que je veux copier vers un dossier local, j'ai tenté de faire ceci :


@echo off

set script=%temp%\script.ftp

> %script% ECHO ptisephy
>>%script% ECHO ton_password
>>%script% ECHO lcd dossiertraitement\ssDosierTrait
>>%script% ECHO cd d:\DossierResultat\2018
>>%script% ECHO binary
>>%script% ECHO mget *.*
>>%script% ECHO close
>>%script% ECHO quit

ftp -i -s:%script% hoteFTP

del /f /q %script%


est ce la bonne syntaxe ? car quand je la lance, il me copie d'autres fichiers qui proviennent de je ne sais où
Messages postés
12649
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
12 juillet 2020
3 351
Je pense que tu as inversé le cd et le lcd, tu ne peux pas mettre de lettre de lecteur dans la commande cd.
Messages postés
42
Date d'inscription
jeudi 4 décembre 2008
Statut
Membre
Dernière intervention
28 janvier 2020

ok c'est bon
j'ai en effet inversé le lcd et le cd ce traitement là est ok .
J'ai remodifié le script en ajoutant la date du jour comme ceci :

@echo off

set script=%temp%\script.ftp
set dossier=%date:~0,2%%date:~3,2%%date:~6,4%
> %script% ECHO ptisephy
>>%script% ECHO ton_password
>>%script% ECHO lcd d:\DossierSource\%dossier%
>>%script% ECHO cd dossiertraitement\sousdossiers
>>%script% ECHO binary
>>%script% ECHO mput *.*
>>%script% ECHO close
>>%script% ECHO quit

ftp -i -s:%script% hoteFTP

del /f /q %script%

deplacement_1vers_source >> "d:\DossierSource\log\fichierlog.txt"


puis j'ai voulu mettre un systeme de log mais quand je met la ligne pour le log, il me fait une erreur il me dit "
un sous repertoire ou un fichier d:\DossierSource\07022018 existe deja " et ça en boucle comment ça se fait ?

Merci !
Messages postés
12649
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
12 juillet 2020
3 351
@echo off

set script=%temp%\script.ftp
set dossier=%date:~0,2%%date:~3,2%%date:~6,4%

> %script% ECHO ptisephy
>>%script% ECHO ton_password
>>%script% ECHO lcd d:\DossierSource\%dossier%
>>%script% ECHO cd dossiertraitement\sousdossiers
>>%script% ECHO binary
>>%script% ECHO mput *.*
>>%script% ECHO close
>>%script% ECHO quit

(ftp -i -s:%script% hoteFTP) >> "d:\DossierSource\log\fichierlog.txt"

del /f /q %script%
Messages postés
42
Date d'inscription
jeudi 4 décembre 2008
Statut
Membre
Dernière intervention
28 janvier 2020

merci à vous !