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
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
@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
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
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.
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.
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
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.
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.
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.