Rechercher : dans
Par :

Création d'un fichier batch pour ftp

Dernière réponse le 19 fév 2009 à 12:47:51 liou13, le 26 sep 2008 à 10:03:37 
 Signaler ce message aux modérateurs

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.

++

Configuration: Windows XP

Meilleures réponses pour « Création d'un fichier batch pour ftp » dans :
Qu'est-ce qu'un fichier batch ? VoirPOURQUOI FAIRE ? COMMENT FAIRE ? Préalables Création du fichier POURQUOI FAIRE ? Windows est fourni avec une version du DOS, ce qui permet d'exploiter les fonctionnalités et l'enchaînement de commandes définies dans un script. Un fichier...

1

Char Snipeur, le 26 sep 2008 à 11:12:07

Salut. pour la fréquence, C'est assez compliqué, il ffaut passer par le planificateur de tâche de Win.
pour le ftp, essai mput à la place de put, sinon regarde l'aide du ftp. Salutation !  avant je croyais, maintenant je suis fixé.Jésu­s Christ
Char Snipeur

Répondre à Char Snipeur

2

 joujou07, le 19 fév 2009 à 12:47:51

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

Répondre à joujou07