Batch upload FTP et log... je rame !
Posté : 08 mai 2012 15:56
Bonjour à tous,
Je viens de m'inscrire (l'encre n'est pas encore sèche) et vous demande de l'aide, déjà
Voici le contexte, ce que j'utilise, ce que j'ai fait, ce qui ne fonctionne pas
Contexte : sur un partage réseau mappé, un soft génère des fichiers. Je souhaite créer un batch qui upload sur un serveur FTP ces fichiers, avec log à l'appui... Je ne souhaite uploader que les fichiers (déposés par un autre soft) dont le nom est composé de RES... puis d'une chaîne aléatoire.
Tools utilisés : mon bon vieux Notepad++ pour un code bien clair, et l'utilitaire curl pour windows (car gérant le FTP également)
Ce que j'ai fait : voici le code de mon batch (en ayant modifié les infos de sécurité)
Non seulement les fichiers n'ont pas l'air d'être expédiés, mais le log ne se crée et ne s'alimente pas...
Où est-ce que mon batch délire svp ?
Existe-t-il (avec les seules commandes de batch) un moyen d'effectuer la même chose ? (sélection de fichiers selon la composition de leur nom, upload sur un ftp externe, log des opérations)
Vos commentaires, retours et avis seront les bienvenus, cela fait 4 nuits que je tourne, que je teste, que je modifie, que je râle...
Merci par avance !
Je viens de m'inscrire (l'encre n'est pas encore sèche) et vous demande de l'aide, déjà

Voici le contexte, ce que j'utilise, ce que j'ai fait, ce qui ne fonctionne pas

Contexte : sur un partage réseau mappé, un soft génère des fichiers. Je souhaite créer un batch qui upload sur un serveur FTP ces fichiers, avec log à l'appui... Je ne souhaite uploader que les fichiers (déposés par un autre soft) dont le nom est composé de RES... puis d'une chaîne aléatoire.
Tools utilisés : mon bon vieux Notepad++ pour un code bien clair, et l'utilitaire curl pour windows (car gérant le FTP également)
Ce que j'ai fait : voici le code de mon batch (en ayant modifié les infos de sécurité)
Code : Tout sélectionner
cls
:: Le titre
@title Envoi du contenu du répertoire mappé \\serveur_5\subdir\labo sur le FTP du fournisseur
:: echo off
:: MAPPAGE LECTEUR RESEAU
net use G: \\serveur_5\subdir
:: ###DEFINITION DES VARIABLES###
:: PARTIE FTP
set user_ftp=USERFTP
set pwd_ftp=PWD
set ip_ftp=200.205.210.215
set path_ftp=/
:: CHEMIN REPERTOIRE RACINE
set rep_root=G:\
:: CHEMIN DOSSIER LOCAL
set local_path=G:\labo
:: CHEMIN CURL
set rep_curl=G:\curl_bin
:: CHEMIN DES JOURNAUX
set rep_log=G:\logs\labo
:: Si le ping est négatif, quitter et log (N'ACTIVER QUE SI LE SERVER FTP REPOND AU PING)
:: ping -n 1 %ip_ftp%
:: if %errorlevel%==1 goto NO_PING_SERVER
:: Création du routage ftp fournisseur (non permanent) via le proxy pour le poste
route add 200.205.210.215 mask 255.255.255.255 10.11.12.13
:: On sélectionne les fichiers à envoyer
cd /D %local_path%
IF EXIST ./RES*.* (
FOR %%f IN (RES*.*) DO (
:: ENVOI DE CHAQUE FICHIER SUR LE FTP
%rep_curl%\curl -u %user_ftp%:%pwd_ftp% -Q "+CWD %path_ftp%" -T "%%f" ftp://%ip_ftp%/
:: ON LOGUE LES INFORMATIONS
echo "%date%|%time:~0,2%h%time:~3,2% : fichier %%f -- envoyé " >>%rep_log%/log_put_labo.log
)
:: Suppression de l'itinéraire non persistant
route delete %ip_ftp%
:: Deconnexion mappage reseau
net use G: /delete
:: goto FIN
:: :NO_PING_SERVER
:: Le serveur ne répond pas au ping
:: echo "%date%|%time:~0,2%h%time:~3,2% : Le serveur FTP n'est pas joignable - Aucun transfert effectué" >>%rep_log%/connexions.log
:: :FIN
Où est-ce que mon batch délire svp ?
Existe-t-il (avec les seules commandes de batch) un moyen d'effectuer la même chose ? (sélection de fichiers selon la composition de leur nom, upload sur un ftp externe, log des opérations)
Vos commentaires, retours et avis seront les bienvenus, cela fait 4 nuits que je tourne, que je teste, que je modifie, que je râle...
Merci par avance !