Wie FTP ich mehrere Dateien über die Befehlszeile?

Ich möchte den Inhalt eines Verzeichnisses FTP, aber ich kann anscheinend nicht den richtigen Weg finden, einen Platzhalter zu verwenden. Es scheint, als ob dies üblich wäre; Ist mein ganzer Ansatz falsch?

Der Befehl lautet

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

Das Skript, Das aufgerufen wird, ist unten. Aktualisiert per billinkc.

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

Das Skript wird gestartet, es werden keine Dateien kopiert und die FTP-Sitzung bleibt geöffnet.

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 die EINGABEAUFFORDERUNG Befehl:

ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com
Author: Peter Mortensen, 2011-11-16

8 answers

Bevor Sie den Befehl mput ausgeben, geben Sie ein prompt befehl zum Deaktivieren des interaktiven Modus. Sobald dies deaktiviert ist, sollten Sie nicht mehr aufgefordert werden, jede Datei für mput (oder ein mget) zu bestätigen.

 38
Author: Ƭᴇcʜιᴇ007,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-11-16 15:22:28

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

username
password
ascii
cd "/destinationfolder"
lcd Backup
mput *.bak
close
quit
 3
Author: billinkc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-04-05 19:20:50

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

 2
Author: horatio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-11-16 15:28:32

Verwenden Sie den Befehl mput, um mehrere Dateien abzulegen.

 1
Author: Chris S,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-04-05 19:20:20

Wenn Sie Administratorrechte haben, können Sie ncftpput installieren. Es ist einfach zu bedienen und ideal für rekursive FTP-Uploads. Der Schalter für die rekursive Übertragung ist -R.

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

 1
Author: Tim Haegele,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-04-05 19:22:23

Wie Tim Haegele erwähnte, macht ncftp dies sehr reibungslos unter Linux, wenn Sie es installieren können und wollen:

sudo apt-get install ncftp
ncftp -R ftpserver.domain.com . /Scripts/ftp01
 1
Author: Collin Anderson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-04-05 19:22:58

Dies ist das Skript, das ich verwendet habe und das für mich 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, wie es für mich funktioniert hat, hoffe, es hilft

 1
Author: Adrian Chacon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-06-03 19:51:05

Sie können den Befehl mirror von lftp mit der Option --include

 0
Author: Marco Marsala,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-01-15 08:03:56