Pour uploader des fichiers en un clic de souris, la création d'un batch permet
d'automatiser l'utilisation de la commande FTP en l'associant à un fichier
texte regroupant les commandes et le mot de passe du compte FTP à mettre
à jour. Le fichier pris ici comme exemple est cette page elle-même.
Regrouper
dans un même
dossier :
- le batch : | Upload.cmd |
- le fichier de commandes ftp : | script.txt |
- le fichier à uploader (cette page) : | Uploader_des_fichiers_avec_un_batch.htm |
Contenu du batch Upload.cmd :
ftp -n -s:script.txt
-n permet de ne pas ouvrir de session tout de suite et d'attendre les commandes
du
fichier script.txt
Contenu du fichier script.txt :
open ftpperso.free.fr
user fspsa
123456789 (mot
de passe du compte ftp)
hash
bin
put "Uploader_des_fichiers_avec_un_batch.htm"
bye
RÉSULTAT
Admirer le résultat:
http://fspsa.free.fr/Uploader_des_fichiers_avec_un_batch.htm
:o)
RÉFÉRENCE
Sauvegarder des fichiers sur un serveur ftp grâce à un batch
http://geeksasylum.free.fr/articles/reseaux/sauvegarder_fichiers_sur_serveur_ftp_grace_a_un_batch/part01.htm
http://www.hotline-pc.org/dosreseau.htm
File Transfer Protocol selon
fr.wikipedia
How to use FTP from the command line
Liste alphabétique des commandes
FTP [-v] [-d] [-i] [-n] [-g] [-s:NomFichier] [-a] [-w:TailleTampon] [-A] [Hôte]
Démarrer>Exécuter>HH NTCMDS.CHM::/ftp.htm
Ou taper FTP dans Aide et Support
En ligne de commandes, taper ftp -? (/? ne marche pas)
Ou taper ftp, puis, à l'invite ftp>
taper ? ou help
Aide sur une sous-commande:
sous l'invite ftp> taper la commande précédée
de ?
Exemple: ? hash ou ? ha
bye pour quitter
Pour se connecter au serveur FTP de FREE.FR taper la commande:
ftp ftpperso.free.fr
Taper bye pour fermer la connexion
On ne peut pas se connecter directement avec la commande à un site ftp.
Il faut passer par un fichier de commandes séparé. Voir l'exemple
plus haut avec script.txt
ATTENTION: dans script.txt, le mot de passe apparaît
en clair.
Le script qui suit
permet d'uploader plusieurs fichiers en les sélectionnant au
préalable dans Explorer à l'aide de la touche CTL et de la souris, puis en
faisant glisser cette sélection sur le batch.
Ce qui est en rouge est à adapter :
- ftpperso.free.fr est le serveur ftp de Free.
Modifier selon ...
- fspsa est le nom de ce site et qui sert
d'exemple. Modifier selon ...
- 123456789 est le mot de passe (bidon) du compte
ftp. Modifier selon ...
- http://fspsa.free.fr est le nom de ce site qui
sert d'exemple. Modifier selon ...
Principe :
On crée le fichier temporaire contenant la liste des commandes ftp à effectuer.
Il est nommé bidon.ftp et on l'écrit à coup de commandes
echo.
Une boucle récupère les noms des fichiers passés en argument. Ces noms de
fichiers à uploader sont ajoutés à bidon.ftp
Si le premier nom (%1) est vide, c'est qu'on a lancé le batch sans argument, et
on va à l'étiquette VIDE pour afficher un message d'erreur.
:BOUCLE
Les arguments passés au batch sont inscrits dans bidon.ftp
Si plus de nom (if "%x%"=="")
c'est qu'il n'y a plus d'arguments, tous les fichiers ont été traités. Et on passe à la SUITE.
:SUITE
On complète le fichier bidon.ftp et on l'exécute
avec la commande ftp -n -s:§TEMP%\bidon.ftp
:VIDE
Le premier nom de fichier (%1) était vide parce qu'on a lancé le batch sans
argument : affichage d'un message d'erreur, il faut glisser au moins un fichier
sur le batch.
:END
Mettre ici l'action que l'on désire faire lorsque le batch a été exécuté
correctement; par exemple on ouvre le site dans le navigateur Internet avec la commande start pour voir le résultat.
Adapter selon...
:FIN
Destruction du fichier de commandes (il contient le mot de passe en clair) suivi
de la commande pause pour permettre de visualiser l'exécution avant de fermer la
fenêtre en appuyant sur une touche.
echo off echo open ftpperso.free.fr>%TEMP%\bidon.ftp echo user fspsa>>%TEMP%\bidon.ftp echo 123456789>>%TEMP%\bidon.ftp echo hash>>%TEMP%\bidon.ftp echo bin>>%TEMP%\bidon.ftp :Verification, il faut au moins un fichier :BOUCLE
|
En complément :
Envoyer des répertoires entiers avec leurs sous-répertoires en FTP
Pas testé, mais le monsieur a dit :
Ça maaaaarche !
Merci à Guillaume Ryder, l'auteur de Clavier+, pour l'utilisation d'une boucle et de la commande SHIFT.
http://www.ponx.org/ponx/batch
http://www.hotline-pc.org/batch.htm
http://www.hotline-pc.org/batchscripts.htm
http://groups.google.fr/group/microsoft.public.fr.windowsxp/search?&q=ftp
http://groups.google.fr/group/microsoft.public.fr.scripting/search?&q=ftp
Merci d'avoir lu jusqu'ici !
Retour au début
Les restes du site
JF
(Jean-François)
Créée le 11/12/2005