Bonjour,
Je suis entièrement débutant sur le langage batch.
Au boulot j'ai du créer un petit .bat qui se connecte à un ftp distant pour récupérer des fichiers et les copier en local.
voici le script :
Pour expliquer brièvement, on se positionne dans le dossier en local de putty pour lancer le psftp. On créé un fichier .dat qui sera exécuter par la commande psftp.exe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 E: cd E:\Outils\FTP_Cegedim REM Creation du fichier de commandes FOR /F "tokens=1,2,3,4 delims=/ " %%i IN ('date /t') DO ( SET Mois=%%j SET Jour=%%k SET Annee=%%l ) echo lcd E:\BIZTALK_FOLDER\SIRH\IN39_EXPCPT_Cegedim > getEXP.dat echo cd /clients/tigf/courant/resultats/$all/Compta/%Annee%-%Mois% >> getEXP.dat echo mget ODPAIE.DAT >> getEXP.dat echo lcd E:\BIZTALK_FOLDER\OUT_EXPORTCPT >> getEXP.dat echo mget *.xls >> getEXP.dat echo mget *.pdf >> getEXP.dat echo mget *.csv >> getEXP.dat REM Lancement de la récupération psftp.exe nom_user@nom_session_putty -P 22 -pw mdp -b getEXP.dat 1> getEXP.log 2>&1
Ensuite on se positionne sur le FTP, on tente de récupérer 4 fichiers différents (ODPAIE.DAT, *.xls, ...).
Le problème est que le client peut parfois "oublier" de déposer des fichiers. Par exemple hier le fichier ODPAIE.DAT n'était pas disponible, du coup le programme s'arrête de ne traite pas le reste.
J'ai cru voir sur google que la commande try catch n'existe pas (sinon j'aurais tenter à chaque fichier, et dupliquer les commandes dans le catch pour exécuter la suite).
Y a t-il un moyen de vérifier si le fichier existe sur le serveur avant de faire les commandes mget de récupération ?
Merci d'avance !
Partager