Comment transférer un fichier dont le nom change avec la date, vers un serveur FTP ?
Bonjour,
Avant tout je tiens à préciser je n'y connais rien BATCH, MS-DOS ou autre "trucs" dans le genre, donc soyez indulgents si je ne comprends pas rapidement.
Voilà mon souci : je souhaiterai transférer un fichier comportant la date du jour sur un serveur FTP.
Pour ça j'ai créé 2 fichiers :
- un fichier nommé "mon_ftp.bat" pour renommer mon fichier avec la date du jour (grâce à la commande DATE), et pour lancer une connexion FTP
- un fichier nommé "config.txt" pour faire les commandes FTP et ainsi transférer mon fichier sur un serveur FTP.
Le code du fichier "mon_ftp.bat":
Code:
1 2
| ren monFichier.txt monFichier_"%DATE:/=-%.txt
ftp -n -s:config.txt monServeurFTP |
Le code du fichier "config.txt" :
Code:
1 2 3 4 5
| user login password
binary
put C:\monFichier_"%DATE:/=-%.txt www/monFichier_"%DATE:/=-%.txt
disconnect
bye |
Mon fichier "monFichier.txt"est bien renommé, mais ensuite, il n'est pas uploadé sur le serveur.
Quand je regarde les commandes écrites par mes fichiers (en retirant la sous-commande ftp bye), je me rends compte qu'il essaie de transférer littéralement le fichier "monFichier_"%DATE:/=-%.txt".
Donc ma question est la suivante : comment transférer mon fichier dont le nom change chaque jour ?
Merci d'avance :-)
Réécrire en ligne de commande mon fichier de config FTP
Finalement j'ai trouvé une solution.
J'ai créé un autre fichier BATCH pour m'écrire mon fichier de configuration FTP (config.txt).
Ainsi, je peux utiliser la commande de date et avoir un fichier de config FTP à jour comportant le nom avec la date du jour, du fichier à transférer.
Le code du fichier BATCH écrivant le fichier config.txt :
Code:
1 2 3 4 5
| echo user login password > config.txt
echo binary >> config.txt
echo put C:\monFichier_%DATE:/=-%.txt www/monFichier_%DATE:/=-%.txt >> config.txt
echo disconnect >> config.txt
echo bye >> config.txt |
Avec le premier chevron, je crée un fichier, et comme le fichier existe déjà du précédent jour, il est alors écrasé par la nouvelle version.
Je n'ai ensuite plus qu'à lancer mon premier fichier BATCH qui lançait le transfert FTP.
Voili voilà :-)