2013-12-17 73 views
1

我使用下面的代碼從FTP服務器下載文件。有什麼辦法可以檢查修改日期或不同文件大小,只下載新文件?只能從FTP下載新文件的批處理文件?

@Echo Off 
Set _FTPServerName= 
Set _UserName= 
Set _Password= 
Set _LocalFolder= C:\Presentation\video 
Set _Filename= /Presentation/video 
Set _ScriptFile=ftp4 

>>"%_ScriptFile%" Echo open %_FTPServerName% 
>>"%_ScriptFile%" Echo %_UserName% 
>>"%_ScriptFile%" Echo %_Password% 
>>"%_ScriptFile%" Echo lcd %_LocalFolder% 
>>"%_ScriptFile%" Echo binary 
>>"%_ScriptFile%" Echo prompt 
>>"%_ScriptFile%" Echo Mget %_Filename% 
>>"%_ScriptFile%" Echo quit 
ftp -s:"%_ScriptFile%" 
msg * "Transfer Complete" 

回答

1

至少有三個選項。

1 - 編寫代碼來處理它。

  • 使用類似的腳本來獲取文件的細節(大小,日期),包括
  • 迭代這個列表針對現有的文件,以確定哪些需要下載,並在此過程中生成一個腳本,下載列表只有所需的文件
  • 執行該腳本

對不起,沒有包含此選項的代碼。我不知道你的FTP服務器,文件名,日期格式,子文件夾東西,...

2 - 所有文件下載到一個臨時目錄,並使用ROBOCOPY更新所需的目標目錄

3 - 使用可編寫腳本的ftp客戶端,使您可以執行所需的任務。選項1意味着更多的工作,2意味着更多的流量/時間,3如果它被允許,應該是最好的選擇。