2013-12-17 74 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如果它被允许,应该是最好的选择。