店鋪終端每天都通過前台銷售系統把銷售數據傳到公司指定的FTP服務器上。雖然可以使用客戶端軟件從FTP上批量下載文件,但是此類軟件基本上都需要手工進行操作,這對於我們公司的情況,每時每刻都會有店鋪的銷售數據上傳,這樣的話手工進行下載就顯得過於煩索。於是便想到了用批處理結合計划任務在指定的時間段下載文件的方法。
首先,新建立一個文本文件,命名為“FTPDownloadFiles.txt”,具體內容如下:
username //ftp的用戶名
password //ftp的密碼
cd Data/Day //文件所在的FTP路徑,第一個目錄前沒有“/”
prompt //下載文件時沒有下載確認提示
mget *.* //下載指定目錄下所有文件
mdelete *.* //下載完成后刪除所有文件
quit //退出FTP狀態
之所有用mget和mdelete的原因是,get和delete二條命令只以下載單個文件且需要指定確定的文件名,不能使用通配符;如果不使用prompt,每下載一個文件時都需要得到確認才能下載。
然后,再新建一個文本文件,命名為“FTPDownload.bat”,其內容如下:
echo off
ftp -s:D:\我的文檔\批處理命令\FTPDownloadFiles.txt 127.0.0.1 //這里可以把127.0.0.1換成FTP服務器的IP地址或者域名;“FTPDownloadFiles.txt”前需要加上文件所在的路徑,這里需要換成自己的文件路徑;“-s”是意思是依次執行文本文件里的ftp命令
d: //由於使用批處理命令后,FTP服務器上的文件全部被下載到批處理所有的文件夾下,所以需要把下載過來的文件移動到指定的文件夾下,這里的指定文件夾是C:\POS
cd 我的文檔
cd 批處理命令
copy *.zip c:\pos //由於店鋪傳上來的文件都是ZIP文件,所以這里只復制這些文件,當然也可以用通配符*.*把所有文件都復制過去
del *.zip //復制后需要把所有的文件全部刪除
echo on
exit
保存后,批處理文件就制作完成了。下一步就是把這個批處理文件加到計划任務里,每隔一段時間就執行一下。我自己的設置為30分鍾下載一次。