2020年2月19日 星期三

FTP 批次下載檔案


使用FTP下載檔案,最常用到的軟體是filezilla,在WIN10系統中想要批次下載遠端伺服器的檔案需要透過command line,因此最初我到搜尋中鍵入cmd開啟命令提示字元介面後輸入ftp,open以及預期進入的遠端伺服器可以馬上登入,步驟如下圖:


登入後,即將開始一連串指令,首先,先知道目前遠端目錄有哪些資料夾,於是使用 ls指令,初次使用會出現防火牆允許視窗,允許之後仍出現以下回應:
200 PORT command successful
425 Unable to build data connection: No route to host

網路上很多回應寫這是沒有進入passive mode的問題,但即使在這個步驟以及回應之後
ftp> literal pasv
227 Entering Passive Mode (133,56,96,193,205,198).
還是存在連結不上的問題,後來爬文後發現有人說win系統只會在表面上回應進入passive mode但實際上沒有進去,所以後來我轉而使用WinSCP,也是一套免費的軟體,功能與FZ類似,也能成功使用cmd批次下載檔案

以下是操作步驟:
1. 下載WinSCP
2. 打開cmd 輸入
cd C:\Program Files (x86)\WinSCP
winscp /script
 若成功進入應該會顯示winscp>開頭
3. 打開WinSCP GUI介面,登入遠端伺服器,在上方 工作階段-產生工作階段URL/程式碼 介面中複製腳本程式碼,會長類似這個格式
open ftp://username:password@ftp.ptree.jaxa.jp/
直接貼上至cmd中,cmd會有登入反應
4. 開始下載檔案
get -filemask="H08_201801??_[02]???_RFL010_FLDK.02401_02401.nc" /pub/himawari/L2/PAR/010/201801
get是winscp下載檔案的指令,很方便的是它可以透過檔名過濾下載(使用 -filemask指令)後面接續遠端伺服器欲下載路徑,執行後即開始下載

註:開始下載前可透過 lcd local path更該local 端目錄

0 意見 :

張貼留言