Automatisieren Sie das Hochladen von Dateien in FileZilla mithilfe eines Skripts [duplizieren]


4

Diese Frage hat hier bereits eine Antwort:

Erwägen:

D:\Program Files\FileZilla FTP Client\filezilla.exe -c 0/GG/DG/ -a "K:\YY\XXXXX\AAAA\BB\idS.txt"

Dieser Code funktioniert nicht wie folgt:

"PFAD NICHT GEFUNDEN" K: \ YY \ XXXXX \ AAAA \ BB \ idS.txt

jedoch

D:\Program Files\FileZilla FTP Client\filezilla.exe -c 0/GG/DG/ -a "K:\YY\XXXXX\AAAA\BB"

Stellt nur eine Verbindung zu der gewünschten FTP-Site her, ohne dass eine Datei übertragen wird.

Warum funktioniert es nicht?


3
Warum benutzt du Filezilla für so etwas? Verwenden Sie einfach WinSCP oder sogar FTP-Client von Windows.
Kamil

Antworten:


14

FileZilla verfügt weder über Befehlszeilenargumente noch über andere Methoden, die eine automatische Übertragung ermöglichen. Siehe:
FileZilla Client-Befehlszeilenargumente
https://trac.filezilla-project.org/ticket/2317
Wie sende ich eine Datei mit FileZilla über die Befehlszeile?


Sie können jedoch jeden anderen Client verwenden, der die Automatisierung ermöglicht. Sie haben nicht angegeben, welches Protokoll Sie verwenden, FTP oder SFTP.

Sie werden auf jeden Fall WinSCP verwenden können, da es alle Protokolle unterstützt, die FileZilla (und mehr) unterstützt.

Siehe https://winscp.net/eng/docs/guide_automation

Ein typisches WinSCP-Skript für den Upload sieht folgendermaßen aus:

open sftp://user:password@example.com/ -hostkey="ssh-rsa 2048 xxxxxxxxxxx...="
put c:\mypdfs\*.pdf /home/user/
exit

Um das Skript auszuführen, verwenden Sie:

WinSCP.com /log=ftp.log /script=script.txt

Dies ist für SFTP. Wenn Sie FTP verwenden, ersetzen Sie das sftp://durch das ftp://und entfernen Sie das-hostkey=...


Mit WinSCP 5.9 kann aus einer importierten FileZilla-Sitzung ein Skript generiert werden .

Weitere Informationen finden Sie in der Anleitung zur FileZilla-Automatisierung .

(Ich bin der Autor von WinSCP)


Eine andere Option, wenn Sie SFTP verwenden, ist der psftp-Client:
https://the.earth.li/~sgtatham/putty/latest/htmldoc/Chapter6.html#psftp


WINSCP hat ein Problem mit der Upload-Geschwindigkeit und bleibt häufig stehen. Das ist der Hauptgrund, warum ich FileZilla verwenden möchte.
Manit

1

-ateilt dem FileZilla-Client mit, wo lokale Dateien ausgeführt werden sollen. Das heißt, hier sollten Dateien standardmäßig heruntergeladen oder von dort hochgeladen werden (wenn im Übertragungsbefehl selbst keine bestimmten Pfade verwendet werden).

Es erwartet einen Pfad zu einem Ordner.

Aus der FileZilla-Dokumentation :

-a, --local =

Legt die lokale Site (linke Seite) auf den angegebenen Pfad fest.

Verwenden Sie doppelte Anführungszeichen für Pfade mit Leerzeichen.

FileZilla ist nicht für die Skripterstellung vorgesehen (Ziel ist es, ein GUI-Client zu sein). Daher gibt es keine Möglichkeit, Dateien anzugeben, die über die Befehlszeile übertragen werden sollen.

Vielleicht sollten Sie die in Windows integrierten FTP.exeSkripte verwenden.

Von ftp /?:

Transfers files to and from a computer running an FTP server service
(sometimes called a daemon). Ftp can be used interactively.

FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuf
fer] [-b:asyncbuffers] [-w:windowsize] [host]

  -v              Suppresses display of remote server responses.
  -n              Suppresses auto-login upon initial connection.
  -i              Turns off interactive prompting during multiple file
                  transfers.
  -d              Enables debugging.
  -g              Disables filename globbing (see GLOB command).
  -s:filename     Specifies a text file containing FTP commands; the
                  commands will automatically run after FTP starts.
  -a              Use any local interface when binding data connection.
  -A              login as anonymous.
  -x:send sockbuf Overrides the default SO_SNDBUF size of 8192.
  -r:recv sockbuf Overrides the default SO_RCVBUF size of 8192.
  -b:async count  Overrides the default async count of 3
  -w:windowsize   Overrides the default transfer buffer size of 65535.
  host            Specifies the host name or IP address of the remote
                  host to connect to.

Notes:
  - mget and mput commands take y/n/q for yes/no/quit.
  - Use Control-C to abort commands.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.