bonjour
j'essaye d'écrire un script pour faire un transfert ftp automatique.
le problème est que je ne peux pas savoir à l'avance combien de fichiers je vais avoir a transférer, ni leur noms.
y'a t'il un équivalent au " copy *.* " ?
merci
bonjour
j'essaye d'écrire un script pour faire un transfert ftp automatique.
le problème est que je ne peux pas savoir à l'avance combien de fichiers je vais avoir a transférer, ni leur noms.
y'a t'il un équivalent au " copy *.* " ?
merci
Il faut utiliser la commande FTP avec en paramètre, un fichier contenant les instructions FTP
pour cela on utilise l'option -s :
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part ftp -s:C:\liste_commandes.txt
le fichier de commandes quant à lui contiendrait :
Attention toutefois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 open ip_machine nom_utilisateur mot_de_passe binary prompt off cd /dossier_contenant_les_fichiers mget * bye
Ce n'est pas sécurisé de mettre le mot de passe en clair dans un fichier
Ce script n'effectuera que la copie de tous les fichiers du dossier spécifié, mais pas de façon récursive (il ne copie pas les dossiers et fichiers)
Transfert récursif : Si ce sont des fichiers de ton disque à envoyer sur le FTP, il est toujours possible de faire un batch qui va scanner le répertoire à envoyer et construire le fichier de réponse pour le FTP, et donc automatiser tout ça, ou d'utiliser "mput *".
Si c'est pour récupérer le contenu du FTP, toujours de façon récursive, c'est un peu plus difficile et il va sûrement falloir le faire en plusieurs étapes. Cela reste possible quoi qu'il en soit, même si ça va être plutôt lourd.
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
En lisant le message, j'avais compris qu'il fallait obtenir des fichiers à partir d'un FTP, mais il est vrai que ta demande porte à confusion quant au sens du transfert que tu veux réaliser.
je vais préciser un peu plus mais déja merci pour vos suggestions.
une machine distante génère x fichiers dans un dossier précis.
je dois récupérer ces fichiers au moins une fois par jour.
pour le moment je prend la main sur la machine et je m'envoie les fichiers.
Il y a des sous-répertoires ou pas ? Connais-tu à l'avance le nom du répertoire distant où les fichiers sont stockés ?
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
cd /dossier_contenant_les_fichiers
j'ai un souci de syntaxe pour trouver mon dossier...
cd / c:\dossier1\dossier2
ca tient compte des majuscules ?
Quel est le répertoire distant ?
Mac LAK.
___________________________________________________
Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.
Sources et composants Delphi sur mon site, L'antre du Lak.
Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.
Rejoignez-nous sur : ► Serveur de fichiers [NAS] ► Le Tableau de bord projets ► Le groupe de travail ICMO
j'ai voulu tester en direct avant d'ecrire le script ca ne fonctionne pas, j'ai du rater un truc
ftp
open ip port
login
mdp
binary
200 type set to I
prompt off
mode interactif désactivé
cd \ c:\corbeilles\CD
250 CWD command succussful
mget *
200 type set to I
bye
mon dossier cible contient 2 fichiers et je n'ai rien recuperer
je seche...
Au temps pour moi, je t'ai induis en erreur avec l'exemple de mon script.
Pour les arboresences, sous les système UNIX/Linux on utilise des slash / alors que sous les systèmes Windows on utilise des antislash \
cd étant présent sous les 2 types de systèmes, il y a risque de confusion.
Dans mon exemple, avec l'habitude, j'ai mis un slash
La syntaxe de la commande cd (Change Dir) est la suivante :
cd chemin ou cd .. ou cd lecteur\chemin etc.
Essaye ainsi :
- le fichier .bat :
Code BATCH : Sélectionner tout - Visualiser dans une fenêtre à part ftp -s:C:\liste_commandes.txt- le fichier liste_commandes.txt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 open ip_machine nom_utilisateur mot_de_passe binary prompt off cd c:\corbeilles\CD mget * bye
Et pour information, la case n'est pas sensitive (les majuscules/minuscules ne sont pas prises en compte)
Partager