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

Come faccio a FTP più file dalla riga di comando?

Vorrei FTP il contenuto di una directory, ma non riesco a trovare il modo giusto per utilizzare un jolly. Sembra che sia una cosa comune; il mio approccio è sbagliato?

Il comando è

ftp -s:"C:\Scripts\ftp01" ftpserver.domain.com
``` ```
username
password
ascii
cd "/destinationfolder"
lcd "C:\Backup"
mput *.bak
close
quit

Lo script che viene chiamato è il seguente. Aggiornato per billinkc.

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>
``` ```
ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com

Lo script si avvia, non viene copiato alcun file e la sessione FTP rimane aperta.

&001 &001

Conclusione

Ho dovuto aggiungere il flag per sopprimere il comando PROMPT:

&001

Risposte (7)

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

Prima di emettere il comando mput, emettere un comando prompt per disattivare il Modo Interattivo. Una volta disattivato, non si dovrebbe chiedere di confermare ogni file per l’mput (o un mget).

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

Non ho mai provato ad usare il nome del percorso per le cartelle locali, ma l'ho fatto cambiando la directory locale (lcd):

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

Prova ad inserire la linea prompt n appena prima della linea mput

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

Come ha detto Tim Haegele, ncftp lo fa molto bene su Linux, se siete in grado e disposti ad installarlo:

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

Utilizzare il comando mput per inserire più file.

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

Se si dispone dei diritti di amministratore, è possibile installare ncftpput . È facile da usare e ottimo per i caricamenti ricorsivi via FTP. Lo switch per il trasferimento ricorsivo è -R.

Il software è incluso nella maggior parte delle distribuzioni Linux. Per Windows è installabile con Cygwin .

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

Questo è lo script che ho usato e che ha funzionato per me.

Per ftp1.bat (script):

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

Per ftp.txt (script):

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

Forse ci sono parti che non sono necessarie ma lo metto come ha funzionato per me, spero che aiuti