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

Wie kann ich mehrere Dateien von der Befehlszeile aus per FTP übertragen?

Ich würde gerne den Inhalt eines Verzeichnisses per FTP übertragen, aber ich scheine nicht den richtigen Weg zu finden, um einen Platzhalter zu verwenden. Es scheint, als wäre dies eine übliche Vorgehensweise; ist mein ganzer Ansatz falsch?

Der Befehl lautet

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

Das Skript, das aufgerufen wird, ist unten aufgeführt. Aktualisiert per billinkc.

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

Das Skript startet, es werden keine Dateien kopiert und die FTP-Sitzung bleibt offen.

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>

Schlussfolgerung

Ich musste das Flag hinzufügen, um den PROMPT-Befehl zu unterdrücken:

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

Antworten (7)

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

Bevor Sie den Befehl mput erteilen, geben Sie den Befehl prompt ein, um den interaktiven Modus zu deaktivieren. Sobald dieser deaktiviert ist, sollten Sie nicht mehr aufgefordert werden, jede Datei für die mput (oder eine mget) zu bestätigen.

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

Ich habe nie versucht, den Pfadnamen für lokale Ordner zu verwenden, aber ich habe es versucht, indem ich das lokale Verzeichnis geändert habe (lcd):

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

Versuchen Sie, die Zeile prompt n unmittelbar vor der Zeile mput einzufügen.

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

Wie Tim Haegele erwähnte, macht ncftp dies unter Linux sehr reibungslos, wenn Sie in der Lage und bereit sind, es zu installieren:

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

Verwenden Sie den Befehl mput, um mehrere Dateien abzulegen.

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

Wenn Sie Administratorrechte haben, können Sie ncftpput installieren. Es ist einfach zu benutzen und eignet sich hervorragend für rekursive FTP-Uploads. Der Schalter für rekursiven Transfer ist -R.

Die Software ist in den meisten Linux-Distributionen enthalten. Für Windows ist sie mit Cygwin installierbar.

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

Dies ist das Skript, das ich verwendet habe und das bei mir funktioniert hat.

Für ftp1.bat (Skript):

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

Für ftp.txt (Skript):

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

Vielleicht gibt es Teile, die nicht notwendig sind, aber ich setze es so ein, wie es bei mir funktioniert hat, ich hoffe, es hilft