web-dev-qa-db-ja.com

スクリプトを使用してFileZillaでファイルのアップロードを自動化する

検討してください:

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

このコードは、次のように機能しません。

「パスが見つかりません」K:\ YY\XXXXX\AAAA\BB\idS.txt

しかしながら

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

ファイルを転送せずに希望のFTPサイトに接続するだけです。

なぜ機能しないのですか?

4
user295071

FileZillaには、自動転送を可能にするコマンドライン引数(またはその他の方法)はありません。見る:
FileZilla Clientコマンドライン引数
https://trac.filezilla-project.org/ticket/2317
コマンドラインからFileZillaを使用してファイルを送信するにはどうすればよいですか?


ただし、自動化が可能な他のクライアントを使用できます。使用しているプロトコル(FTPまたはSFTP)を指定していません。

WinZPは、FileZilla(およびその他)が行うすべてのプロトコルをサポートするため、間違いなくWinSCPを使用できます。

https://winscp.net/eng/docs/guide_automation を参照してください

アップロードの一般的なWinSCPスクリプトは次のようになります。

open sftp://user:[email protected]/ -hostkey="ssh-rsa 2048 xxxxxxxxxxx...="
put c:\mypdfs\*.pdf /home/user/
exit

スクリプトを実行するには、以下を使用します。

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

これはSFTP用です。 FTPを使用している場合は、sftp://ftp://に置き換え、-hostkey=...を削除するだけです


WinSCP 5.9は インポートされたFileZillaセッション から スクリプトを生成 できます。

詳細については、 FileZillaオートメーションのガイド を参照してください。

(WinSCPの作成者です)


SFTPを使用している場合の別のオプションは、psftpクライアントです。
https://the.earth.li/~sgtatham/PuTTY/latest/htmldoc/Chapter6.html#psftp

14
Martin Prikryl

-aは、FileZillaクライアントにローカルファイルの作業を行う場所を通知します。つまり、デフォルトでファイルをダウンロードまたはアップロードする場所です(転送コマンド自体で特定のパスが使用されていない場合)。

フォルダーへのパスが必要です。

FileZillaのドキュメント から:

-a、-local =

ローカルサイト(左側)を指定されたパスに設定します。

スペースを含むパスには二重引用符を使用します。

FileZillaはスクリプト化することを意図していないため(その目標はGUIクライアントになることです)、コマンドラインから転送するファイルを指定する方法はありません。

おそらく、スクリプトにWindowsの組み込みFTP.exeを使用することを検討してください。

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.
1