Page 1 sur 2

Sauvegarde de fichiers sur un ftp

Posté : 15 avr. 2009 13:15
par erce78
Bonjour,

Je ne suis pas familier de la prog windows et des batchs. Cependant, on m'a demandé de faire un batch qui sera exécuté par un tache plannifiée.
Ce batch doit se connecter à un serveur et transférer tous les fichiers et dossiers d'un répertoire local vers le répertoire dédié d'un serveur.

Afin de me familiariser avec tout ça, j'ai commencé un prog batch pour transférer un fichier en particulier mais ça ne marche pas. Pouvez-vous m'indiquer où est mon erreur ?
Fichier sauv.bat

Code : Tout sélectionner

ftp -d
rem Connexion au FTP
open ftp.serveur.fr
USER utilisateur mdp

rem On envoi le fichier osiris.ini
put c:\osiris\Osiris.ini
bye
 
Merci d'avance

Re: Sauvegarde de fichiers sur un ftp

Posté : 15 avr. 2009 15:56
par Batch_Man
Bonjour,

Tu oublis pas d'indiquer le répertoire futur ?

Batch_Man

Re: Sauvegarde de fichiers sur un ftp

Posté : 15 avr. 2009 18:20
par erce78
En fait, mon utilisateur est paramétré pour se connecter immédiatement au répertoire.
Quand je fait mes tests en ligne de commande, c'est OK, mais quand je lance mon batch il ouvre l'invite de commande et me marque

Code : Tout sélectionner

ftp>
 
et rien d'autre. On dirait qu'il ignore le reste du fichier

Re: Sauvegarde de fichiers sur un ftp

Posté : 15 avr. 2009 18:55
par Batch_Man
Je ne me souviens plus vraiment mais:

Tu dois mettre ces informations dans un fichier puis appeler le fichier avec un batch

Batch_Man

Re: Sauvegarde de fichiers sur un ftp

Posté : 15 avr. 2009 18:57
par flox
Salut,

regarde du coté de la FAQ, tu trouvera un exemple, en complément l'aide sur la commande FTP.


@+

Re: Sauvegarde de fichiers sur un ftp

Posté : 16 avr. 2009 10:41
par Laddy
Voici pour t'aider

La commande put ne peut qu'envoyer qu'un seul fichier.

+-----------Code testé-----------+

Code : Tout sélectionner

 @echo off
>upload.ftp echo ftp -d
::nom_utilisateur_ftp remplace Username
>> upload.ftp ECHO USERNAME
 ::mot de passe remplace password
 >>upload.ftp ECHO PASSWORD
 ::envoie en binaire
 >>upload.ftp ECHO binary
::désactive un prompt
>>upload.ftp ECHO prompt n
::envoie le fichier
>>upload.ftp ECHO put c:\osiris\Osiris.ini
>>upload.ftp echo bye

::commande execution script remplacer ftp.serveur.fr

 FTP -s:upload.ftp ftp.serveur.fr
Del  /Q upload.ftp     
pause
 
Pour envoyer plusieurs fichiers on est obligé de passer par un boucle


+-----------Code testé-----------+

Code : Tout sélectionner

@echo off

::nom_utilisateur_ftp remplace Username
>> upload.ftp ECHO USER
 ::mot de passe remplace password
 >>upload.ftp ECHO PASSWORD
 ::envoie en binaire
 >>upload.ftp ECHO binary
::désactive un prompt
>>upload.ftp ECHO prompt n

::envoie les fichiers contenus dans un répertoire remplace systemdrive\up par le répertoires des fichiers à uploader
@for %%I in ("%systemdrive%\up\*.*") do (
echo put %%I>>upload.ftp

)
>>upload.ftp echo bye

::commande execution script remplacer ftp.serveur.fr

 FTP -s:upload.ftp ftp.serveur.fr
Del  /Q upload.ftp
pause

Re: Sauvegarde de fichiers sur un ftp

Posté : 16 avr. 2009 12:23
par erce78
OK merci. Je vais tester.
Je faisait un test sur l'envoi d'un fichier pour me familiariser avec le fonctionnement. Mais merci de l'info.
Pour ce qui est du fichier, j'avais vu dans la FAQ ce fonctionnement mais je pensais pouvoir le faire sans fichier.

Re: Sauvegarde de fichiers sur un ftp

Posté : 16 avr. 2009 17:02
par Laddy
j ai rien compris ce que tu as dit mdr
en passant par un script.ftp ça t evite de saisir les commandes une à une dans une fenetre dos
et je ne pense pas que ce soit possible de sans passer pour plusieurs fichiers le commande ftp n a pas l equivalent de mget.

Re: Sauvegarde de fichiers sur un ftp

Posté : 17 avr. 2009 17:52
par erce78
Laddy, j'ai testé ce que tu as posté.
J'ai un problème car sur les fichiers les plus importants, j'ai un F qui se met. Certainement pour me signifier que le transfert a échouer.

Code : Tout sélectionner

C:\Users\XXXX\Desktop>ftp -inv -s:upload.ftp
ftp> open ftp.serveur.com
ftp> USER USERNAME PASSWORD
ftp> put c:\osiris\Auth_prélève.Q01
c:\osiris\Auth_prélève.Q01: F
ftp> put c:\osiris\auto_prélève_banque.Q01
c:\osiris\auto_prélève_banque.Q01: F
ftp> put c:\osiris\CONFIG.XML
ftp> put c:\osiris\fact_form_LA2.pdf
ftp> put c:\osiris\Fiches societes.Q01
c:\osiris\Fiches: F
ftp> put c:\osiris\Listing client.Q01
c:\osiris\Listing: F
ftp> put c:\osiris\Osiris.exe
ftp> put c:\osiris\Osiris.ini
ftp> put c:\osiris\Osiris.old
ftp> put c:\osiris\QRDESIGN.INI
ftp> bye
J'arrive pas à trouver d'où vient l'erreur, certainement car je ne sais pas exactement ce que je cherche.

Re: Sauvegarde de fichiers sur un ftp

Posté : 17 avr. 2009 18:04
par erce78
J'ai compris mon erreur pour les transferts qui vont pas. Accents et espaces, mais visiblement, je ne peux pas y échapper.
Est-ce qu'il y a une autre solution pour faire passer ces fichiers ?
De plus, je peux avoir des sous-dossiers à transférer avec leurs contenus.