Bonjour,
Voila je dois récupérer sur une machine distante le fichier le plus récent (le plus récemment modifié) d'un dossier, le tout en ftp.
Je cherche donc à réaliser un .bat faisant tout ça mais étant débutant dans le domaine, je galère un peu...
J'ai commencé sur une idée (mais qui me semblait un peu bancale) et qui ressemble à ça :
fichierLeplusRecent.bat
ftp.txt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @echo off ftp -s:ftp.txt adresse_ip for /f "eol=" %%a in (listeFichiers.txt) do echo quote MDTM %%a >> ftpDates.txt echo quit >> ftpDates.txt ftp -s:ftpDates.txt adresse_ip pause
ftpDates.txt(complété par fichierLeplusRecent.bat)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 username password ls /testFtp listeFichiers.txt quit
Explications :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 username password quote MDTM /testFtp/fic1 quote MDTM /testFtp/fic2 quit
Pour résumer, mon .bat se connecte au serveur ftp et exécute les commandes contenues dans ftp.txt (qui listent les fichiers de mon dossier cible et stock le résultat dans un fichier local listeFichier.txt), puis mon .bat complète le fichier ftpDates.txt en y ajoutant les commandes permettant d'afficher les dates de modifications de chaque fichier ("quote MDTM /testFtp/fic1") et le .bat se reconnecte au serveur ftp et lui envoie les commandes contenues dans ftpDates.txt. La prochaine étape devrait donc être la comparaison de ses dates pour trouver la plus récente puis l'établissement de la correspondance date<=>fichier et enfin le téléchargement de ce fichier.
Sauf que je ne peu pas stocker le résultat des commandes "quote MDTM /testFtp/fic1" dans un fichier et je ne sais donc pas comment récupérer les dates pour les comparer.
Infos supplémentaires : le serveur ftp est un Filezila Server tournant sous Windows.
Donc si quelqu'un si connait en la matière et aurait des idées, je suis preneur.
Partager