Envoyer les fichier d'un répertoire un à un par ftp sous DOS
Fermébrucine Messages postés 18793 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 29 janvier 2025 - 2 mars 2023 à 20:17
- Envoyer les fichier d'un répertoire un à un par ftp sous DOS
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier rar - Guide
- Comment ouvrir un fichier docx ? - Guide
4 réponses
28 févr. 2023 à 16:58
Bonjour,
Il faut d'abord préciser le contexte :
- s'agit-il d'un serveur FTP, SFTP ou bien FTPS ?
- quand tu dis DOS ça veut dire l'invite de commandes (cmd.exe) ?
28 févr. 2023 à 17:06
Bonjour,
Je suppose qu'il ne s'agit pas de mode Dos réel mais d'un batch en mode Dos émulé sous Windows.
Sauf à vouloir pour une raison qui m'échappe fermer et rouvrir la connexion FTP pour chaque fichier ou bien n'envoyer qu'une partie des fichiers selon un critère particulier, l'intérêt d'une boucle FOR m'échappe aussi.
Pourquoi une fois la connexion et le dossier de destination établis ne pas se contenter de
prompt
mput (mondossiersource)\*.*
1 mars 2023 à 11:05
Je ne comprends toujours pas: même si on boucle pour envoyer les fichiers l'un après l'autre, ils le seront toujours exactement comme par une commande FTP appliquée à tous les fichiers de ce répertoire, on peut toujours temporiser dans la boucle entre chaque fichier mais, dans tous les cas, ça n'empêchera pas une déconnexion éventuelle?
Ou bien on ne doit pas boucler sur le transfert des fichiers à proprement parler mais sur la connexion, se connecter, envoyer un fichier, se déconnecter, se reconnecter et ainsi de suite.
Bonjour,
oui je trouve que c'set plus correcte de boucler sur la connexion, si connecté on envoi sinon on envoi pas!
pouvez vous interpréter ça en script batch?
Merci
1 mars 2023 à 16:54
En supposant que l'on n'ait pas à contrôler que le fichier n'existe pas déjà sur le serveur distant ni à le supprimer après transfert dans la source, quelque chose dans ce genre là, je n'ai pas testé, je n'ai plus de site Web actif.
@ECHO OFF
CD /D E:\dossier_source
FOR /F "delims=" %%a in ('dir /b E:\dossier_source\*.*') DO SET FILE=%%a & CALL :PROCESS
:PROCESS
FTP tartempion.bidule.net
FTP user (username) (password) (account)
FTP cd (dossier_destination)
PUT %FILE%
FTP close
:EOF
Bonsoir,
mon ftp va faire du "get" ( de la récupération de fichiers)
c'est à dire je me connecte en ftp sur le pc distant, je liste le nombre de fichiers à rapatrier,
ensuite je fais ma boucle for pour récupérer les fichiers distant un à un sur mon pc.
Merci.
2 mars 2023 à 20:17
Ta question initiale était dans l'autre sens.
ça ne change pas fondamentalement la question sinon que les commandes DIR et CD doivent spécifier le dossier serveur cible par son chemin réseau \\serveur\répertoire sur lequel on doit bien sûr avoir des droits d'accès et qu'il faut bien sûr remplacer PUT par GET et soit exécuter le batch à partir du dossier local cible, soit spécifier explicitement son chemin dans la commande GET: GET %FILE% (mon_chemin_local)
1 mars 2023 à 10:15
Bonjour,
merci pour votre réponse.
il s'agit d'un simple ftp dans un script batch sous Windows.
cordialement.