2011-11-16 14:47:23 +0000 2011-11-16 14:47:23 +0000
25
25

Comment transférer plusieurs fichiers par FTP à partir de la ligne de commande ?

J'aimerais transférer par FTP le contenu d'un répertoire, mais je ne parviens pas à trouver la bonne façon d'utiliser un joker. Il semble que ce serait une chose courante à faire ; mon approche est-elle erronée ?

La commande est

ftp -s:"C:\Scripts\ftp01" ftpserver.domain.com

Le script qui est appelé est ci-dessous. Mis à jour par billinkc.

username
password
ascii
cd "/destinationfolder"
lcd "C:\Backup"
mput *.bak
close
quit

Le script démarre, aucun fichier n'est copié et la session FTP reste ouverte.

230 User username Logged in Successfully
ftp> ascii
200 TYPE Command OK A
ftp> cd "/destinationfolder"
250 Directory successfully changed to "/destinationfolder"
ftp> lcd "C:\Backup"
Local directory now C:\Backup.
ftp> mput *.bak
mput 9829980.bak? close
mput 6406766.bak? quit
ftp>
ftp>

Conclusion

J'ai dû ajouter le drapeau pour supprimer la commande PROMPT :

ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com

Réponses (7)

36
36
36
2011-11-16 15:22:28 +0000

Avant de lancer la commande mput, lancez une commande prompt pour désactiver le mode interactif. Une fois que cette commande est désactivée, elle ne devrait pas vous demander de confirmer chaque fichier pour le mput (ou un mget).

3
3
3
2011-11-16 15:01:47 +0000

Je n'ai jamais essayé d'utiliser le nom de chemin pour les dossiers locaux, mais je l'ai fait en changeant le répertoire local (lcd) :

username
password
ascii
cd "/destinationfolder"
lcd Backup
mput *.bak
close
quit
2
2
2
2011-11-16 15:28:32 +0000

Essayez d'insérer la ligne prompt n juste avant la ligne mput

1
1
1
2014-04-25 16:55:45 +0000

Comme Tim Haegele l'a mentionné, le ncftp fonctionne très bien sous Linux, si vous êtes capable et désireux de l'installer :

sudo apt-get install ncftp
ncftp -R ftpserver.domain.com . /Scripts/ftp01
1
1
1
2011-11-16 14:55:58 +0000

Utilisez la commande mput pour mettre plusieurs fichiers.

1
1
1
2011-11-16 22:09:40 +0000

Si vous disposez de droits d'administrateur, vous pouvez installer ncftpput . Il est facile à utiliser et idéal pour les téléchargements FTP récursifs. Le commutateur pour le transfert récursif est -R.

Le logiciel est inclus dans la plupart des distributions Linux. Pour Windows, il est installable avec Cygwin .

0
0
0
2019-06-03 19:51:05 +0000

C'est le script que j'ai utilisé et qui a fonctionné pour moi.

Pour ftp1.bat (script):

ftp -i -s:\tmp\ftp.txt

Pour ftp.txt (script):

Open ip
username
password
prompt
lcd C:\YourFolder\YourFolder
binary
cd /DestinationFolder
prompt
mput *.bak
cd ..
disconnect
quit

Peut-être qu'il y a des parties qui ne sont pas nécessaires mais je le mets comme il a fonctionné pour moi, j'espère que ça aidera