web-dev-qa-db-fra.com

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

Je voudrais envoyer par FTP le contenu d'un répertoire, mais je n'arrive pas à trouver le bon moyen d'utiliser un caractère générique. Il semble que ce soit chose courante à faire. Est-ce que toute ma démarche est fausse?

La commande est

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

Le script 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'avais besoin d'ajouter l'indicateur pour supprimer la commande Invite:

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

Avant d'émettre la commande mput, lancez une commande Prompt pour désactiver le mode interactif. Une fois cette opération terminée, il ne devrait plus vous demander de confirmer chaque fichier pour la mput (ou une mget).

36
Ƭᴇcʜιᴇ007

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

username
password
ascii
cd "/destinationfolder"
lcd Backup
mput *.bak
close
quit
3
billinkc

Utilisez la commande mput pour mettre plusieurs fichiers.

2
Chris S

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

2
horatio

Si vous avez des 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 .

1
Tim Haegele

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

Sudo apt-get install ncftp
ncftp -R ftpserver.domain.com . /Scripts/ftp01
0
Collin Anderson