【发布时间】:2011-03-21 13:17:19
【问题描述】:
我正在开发一个非常基本的预定 FTP 程序,但如果上次修改日期没有更改,我不想费心传输文件,所以我需要将上次存储的修改时间与当前修改时间进行比较预下载。我正在使用 FtpWebRequest/FtpWebResponse 来建立连接。
有什么方法可以通过 FTP 使用 IO.FileInfo 吗?如果没有,是否有课程可以让我获得修改日期?
谢谢
【问题讨论】:
我正在开发一个非常基本的预定 FTP 程序,但如果上次修改日期没有更改,我不想费心传输文件,所以我需要将上次存储的修改时间与当前修改时间进行比较预下载。我正在使用 FtpWebRequest/FtpWebResponse 来建立连接。
有什么方法可以通过 FTP 使用 IO.FileInfo 吗?如果没有,是否有课程可以让我获得修改日期?
谢谢
【问题讨论】:
您需要从服务器请求目录列表,然后对其进行解析以查找每个文件的日期...然后将其与本地文件上的日期进行比较。尽管 FTP 是一种“标准”,但它并没有指定目录列表格式,因此每个供应商自然都有自己的风格,这可能会让您计划连接到多个站点时感到痛苦。
使用像 Robo-FTP 这样也支持 COM 接口的可编写脚本的 FTP 客户端可能会更好地利用您的时间。每天只下载一次新文件或更新文件的脚本:
:top
CRON "@daily"
WORKINGDIR "c:\local\download\folder"
FTPLOGON "ftp.mydomain.com" /user="userID" /pw="secret"
RCVFILE "*" /ifnewer
FTPLOGOFF
GOTO top
您会注意到这是一个无限循环,每天进行一次迭代。您将其设置为作为 Windows 服务运行,因此只要计算机重新启动,它就会自动启动,就这样,您就完成了。
【讨论】: