Controle FTP batch

Fermé
Makss Messages postés 385 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 3 avril 2009 - 20 mai 2008 à 14:46
Makss Messages postés 385 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 3 avril 2009 - 22 mai 2008 à 08:48
Bonjour,

Voila le problème :
Actuellement, un script existe pour envoyé des fichiers via FTP, il se connecte au serveur fait une copie de sauvegarde des fichiers, envoi les originaux via le ftp, et les supprimes. Il subsiste une copie de ses fichier sauvegardés biensur.
Mais lorsque la connexion au serveur ne 'effectue pas, le script effectue quand même le job, et supprime les fichiers(en gardant une copie) même si ils n'ont pas été transmis.

Je voudrais ajouté à mon script une partie controle, pour verifier l'établissement de la connexion. Par exemple controler l'aparition du message "230 user logged in".
comment faire?

Merci pour votre aide!


A voir également:

1 réponse

SET MESSAGE=vide
SET LOG=Fichier de log
SET TEMP=Fichier temporaire

ftp 1> %LOG% 2>>&1

FINDSTR /C:"230 user logged in" %LOG%>%TEMP%
FOR /F "delims=" %%a IN (%TEMP%) DO SET MESSAGE="%%a"
IF %MESSAGE% == vide SET ERRORLEVEL=1

Et t'aura un code retour à 1 si le ftp n'a pas transféré.
0
Makss Messages postés 385 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 3 avril 2009 25
22 mai 2008 à 08:48
Salut, merci pour la réponse, mais je l'ai vu trop tard!
J'avais fait un truc similaire dans l'aprem, le code, pour les suivants :

........

ftp -n -s:ftpemi monftp.com>>logconn.txt

find "230" logconn.txt>>condition.txt

Copy condition.txt FIC.TRA
Find /V /I "---------- LOGTEST.TXT" < FIC.TRA > condition.txt
Del FIC.TRA

for /f %%i in (condition.txt) do (set var=%%i)

if not "%var%"=="230" goto $fin

..............

:$fin
del *.txt
0