Comment puis-je FTP plusieurs fichiers à partir de la ligne de commande?

Je voudrais FTP le contenu d'un répertoire, mais je ne peux pas trouver le bon moyen d'utiliser un caractère générique. Il semble que ce soit une chose courante à faire; Est-ce que toute mon approche est mauvaise?

La commande est

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

Le script qui s'appelle est ci-dessous. Mise à jour par billinkc.

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

Le script commence, 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'avais besoin d'ajouter le drapeau pour supprimer la commande PROMPT:

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

Avant d'émettre la commande mput , émettre une commande d' prompt pour désactiver le mode interactif. Une fois que cela est éteint, il ne devrait pas vous demander de confirmer chaque fichier pour le mput (ou un mget ).

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

Utilisez la commande mput pour mettre plusieurs fichiers.

Je n'ai jamais essayé d'utiliser le chemin d'accès 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 

Si vous avez des droits d'administrateur, vous pouvez installer ncftpput . Il est facile à utiliser et idéal pour les uploads 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 installé avec Cygwin .

Comme l'a mentionné Tim Haegele, ncftp le fait très doucement sur Linux, si vous êtes en mesure et disposé à l'installer:

 sudo apt-get install ncftp ncftp -R ftpserver.domain.com . /Scripts/ftp01