อัปโหลดไฟล์โดยอัตโนมัติใน FileZilla โดยใช้สคริปต์ [ซ้ำกัน]


3

คำถามนี้มีคำตอบอยู่ที่นี่แล้ว:

พิจารณา:

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 ที่ฉันต้องการโดยไม่ต้องมีการถ่ายโอนไฟล์ใด ๆ

ทำไมมันไม่ทำงาน


2
ทำไมคุณใช้ Filezilla เพื่อสิ่งนี้ เพียงแค่ใช้ WinSCP หรือแม้แต่ไคลเอนต์ ftp จาก Windows
Kamil

คำตอบ:


12

FileZilla ไม่มีอาร์กิวเมนต์บรรทัดคำสั่ง (หรือวิธีอื่นใด) ที่อนุญาตการถ่ายโอนอัตโนมัติ ดู:
อาร์กิวเมนต์บรรทัดคำสั่งของ FileZilla Client
https://trac.filezilla-project.org/ticket/2317
ฉันจะส่งไฟล์ด้วย FileZilla จากบรรทัดคำสั่งได้อย่างไร


แม้ว่าคุณจะสามารถใช้ไคลเอนต์อื่น ๆ ที่อนุญาตระบบอัตโนมัติ คุณไม่ได้ระบุว่าคุณใช้โปรโตคอลใด FTP หรือ SFTP

คุณจะสามารถใช้ WinSCP ได้อย่างแน่นอนเนื่องจากรองรับโปรโตคอลทั้งหมดที่ FileZilla ทำ (และอื่น ๆ )

ดู https://winscp.net/eng/docs/guide_automation

สคริปต์ WinSCP ทั่วไปสำหรับการอัปโหลดมีลักษณะดังนี้:

open sftp://user:password@example.com/ -hostkey="ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx..."
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


WINSCP มีปัญหาเกี่ยวกับความเร็วในการอัปโหลดและมักจะติดขัด นั่นเป็นเหตุผลหลักที่ฉันต้องการใช้ FileZilla
manit

1

-a แจ้งให้ไคลเอนต์ FileZilla ทราบว่าควรจะทำงานกับไฟล์ในเครื่องที่ใด นั่นคือไฟล์ที่ควรจะดาวน์โหลดหรืออัปโหลดจากค่าเริ่มต้น (หากไม่มีเส้นทางที่เฉพาะเจาะจงจะใช้ในคำสั่งถ่ายโอนตัวเอง)

คาดว่าจะเป็นเส้นทางไปยังโฟลเดอร์

จาก เอกสารประกอบ FileZilla :

-a, - local =

ตั้งค่าไซต์โลคัล (ด้านซ้าย) เป็นพา ธ ที่กำหนด

ใช้อัญประกาศคู่สำหรับเส้นทางที่มีช่องว่างในนั้น

FileZilla ไม่ได้มีวัตถุประสงค์เพื่อให้สคริปต์ (เป้าหมายของพวกเขาคือการเป็นไคลเอนต์ GUI) ดังนั้นจึงไม่มีวิธีระบุไฟล์ที่จะถ่ายโอนจาก commandline

บางทีมองโดยใช้ 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.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.