Création d'un fichier batch pour ftp
liou13
-
joujou07 Messages postés 254 Date d'inscription Statut Membre Dernière intervention -
joujou07 Messages postés 254 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'essaye de metre en place un fichier batch pour pouvoir effectuer l'upload de fichiers sur un server ftp.
Pour le moment j'ai deux fichier :
- script.txt :
open toto.free.fr
toto
123456
put
E:\test_ftp\*.*
"test_ftp/*.*"
disconnect
- batch.bat
ftp -s:script.txt
Le problème que j'ai c'est que je n'arrive pas à envoyer tous le contenus du dossier test_ftp sur le serveur ftp. Je pense que cela vient du *.* car si je met le nom d'un fichier spécifique ça fonctionne.
Aussi ensuite je me demande si il est possible que cet upload se lance tous les jours a 18h par exemple.
Merci du coup de main.
++
j'essaye de metre en place un fichier batch pour pouvoir effectuer l'upload de fichiers sur un server ftp.
Pour le moment j'ai deux fichier :
- script.txt :
open toto.free.fr
toto
123456
put
E:\test_ftp\*.*
"test_ftp/*.*"
disconnect
- batch.bat
ftp -s:script.txt
Le problème que j'ai c'est que je n'arrive pas à envoyer tous le contenus du dossier test_ftp sur le serveur ftp. Je pense que cela vient du *.* car si je met le nom d'un fichier spécifique ça fonctionne.
Aussi ensuite je me demande si il est possible que cet upload se lance tous les jours a 18h par exemple.
Merci du coup de main.
++
A voir également:
- Création d'un fichier batch pour ftp
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier batch - Guide
2 réponses
Je pense que tu pourrais faire une boucle for
je m'explique : ton fichier batch crée lui meme le script.txt
En clair,
echo open toto.free.fr>script.txt (la il remplace le fichier script par un nouveau et écris open toto.free.fr dedans)
echo toto>>script.txt (la il y a >> et non pas > c'est à dire qu'il écrit toto à la suite du fichier script)
etc etc
Ensuite on fait une boucle for, c'est à dire que pour chaque fichier il va écrire
put
E:\test_ftp\fichier.machin
"test_ftp/fichier.machin"
On fait donc cette boucle :
cd E:\test_ftp
@for %%I in (*.*) do (
echo put >>script.txt
echo %%I>>script.txt
echo "test_ftp/%%I">>script.txt
)
Voila ton script se réecrit à chaque fois avec le nom de chaque fichier au lieu de *.*, il te suffit de le lancer avec ta commande habituelle c'est à dire : ftp -s:script.txt
je m'explique : ton fichier batch crée lui meme le script.txt
En clair,
echo open toto.free.fr>script.txt (la il remplace le fichier script par un nouveau et écris open toto.free.fr dedans)
echo toto>>script.txt (la il y a >> et non pas > c'est à dire qu'il écrit toto à la suite du fichier script)
etc etc
Ensuite on fait une boucle for, c'est à dire que pour chaque fichier il va écrire
put
E:\test_ftp\fichier.machin
"test_ftp/fichier.machin"
On fait donc cette boucle :
cd E:\test_ftp
@for %%I in (*.*) do (
echo put >>script.txt
echo %%I>>script.txt
echo "test_ftp/%%I">>script.txt
)
Voila ton script se réecrit à chaque fois avec le nom de chaque fichier au lieu de *.*, il te suffit de le lancer avec ta commande habituelle c'est à dire : ftp -s:script.txt