2014年4月6日 星期日

WinSCP FTP command script batch file FTP批次下載檔案

專案需求怕日後忘記,因此做個記錄。

前陣子遇到一台怪 SFTP,

用軟體都可以連進到 SFTP入。

但是用 JAVA使用 JSCH 寫的卻無法連入,

試過了 SSH / TSL / SSL 通訊協定,一樣失敗。

曾經使用 JSCH 在別的 SFTP 都沒問題。

沒想到這次卡關了。


WinSCP非常好用,只要安裝後寫個bat、script檔。

就可以在工作排程器裡設定排程自動上下載FTP檔案等指令,

而且完全不用寫程式。

而且支援 SSH / TSL / SSL 通訊協定


第一步-下載程式
http://winscp.net/eng/download.php

第二步-批次檔 batch file(run.bat 批次檔範例)
winscp.com /script=script.txt /log=run.log

第三步-語法檔 script file(script.txt  SFTP範例 下載*.txt檔)
option batch abort
option confirm off
open sftp://account:password@127.0.0.1:22 -hostkey
get *.txt C:\temp\files\
exit

script 詳細說明
http://winscp.net/eng/docs/scripting

第四步-放置檔案
將run.bat 、script.txt
放置於 預設目錄 C:\Program Files (x86)\WinSCP\ 之下

ps.
若不想將bat、script放置於此的話,
必須在環境變數增加PATH上面之目錄。
還有修改bat讀取script之路徑

第五步-設定排程
工作排程式再定時執行run.bat即可。