2008年5月25日 星期日

使用DOS下的FTP指令自動抓取檔案

最近遇到客戶要求要能定時自動抓取某個遠端資料夾內的所有檔案然後匯入資料庫中,此時想到的是學生時代使用的FTP指令,雖然功能沒有現在的FTP Client強,但只是要抓取檔案,倒還很實用,而且簡單,於是請客戶裝個FTP Server,開個帳號、密碼就可以達到安全自動抓取的要求。

使用步驟如下:
1.建立FTP指令檔(BATCH檔)
2.設定排程(Windows OS Tasks 排程程式)
3.匯入資料庫程式

FTP指令擋說明:

1.先建立一個BATCH檔,內容只有一行
ftp -s:fp.txt (讓FTP執行劇本檔fp.txt內的指令)

2.再建立一個劇本檔,檔名則為BATCH檔裡的劇本檔檔名ft.txt
open XXX.XXX.XXX.XXX (FTP IP)
guest (帳號)
1234 (密碼)
prompt (關閉交談模式,預設開啟)
binary (設定二進位傳輸模式,請勿利用文字檔的方式傳輸二進位檔,否則檔案會傳輸失敗)
lcd c:\ (指定本機端對應的資料夾,預設是BATCH檔執行的位置)
cd TestPic (指定FTP端的資料夾,如果一登入就會自動導向正確的資料夾,則此行可以省略)
mget * (一次抓取多個檔案,檔名可使用萬用字元;上傳指令則為mput)
mdelete * (抓取完後刪除檔案)
bye (關閉連線並離開 ftp 狀態)

劇本檔可以依個人需求編排,可以抓取多個FTP Site或多個資料夾的資料,修改上也很簡單,有時候利用一些 DOS Command 可以幫你節省不少時間。

沒有留言: