发现 FTP 上的文件属性

发布于 2024-10-25 21:27:29 字数 196 浏览 1 评论 0原文

我正在开发一个非常基本的预定 FTP 程序,但如果上次修改日期没有更改,我不想费心传输文件,所以我需要将上次存储的修改时间与当前修改时间预下载进行比较。我正在使用 FtpWebRequest/FtpWebResponse 来设置连接。

有没有办法将 IO.FileInfo 与 FTP 一起使用?如果没有,是否有一个类可以让我获取修改日期?

谢谢

I'm working on a very basic scheduled FTP program, but I don't want to bother transferring files if the Last Modified date hasn't changed, so I need to compare the last stored modified time with the current modified time pre-download. I'm using FtpWebRequest/FtpWebResponse to set up the connection.

Is there any way to use IO.FileInfo with an FTP? If not, is there a class that will let me get the modified date?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蝶舞 2024-11-01 21:27:29

您需要从服务器请求目录列表,然后解析它以查找每个文件的日期...然后将其与本地文件的日期进行比较。尽管 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 服务运行,这样每当计算机重新启动时它就会自动启动,就这样,您就完成了。

You'll need to request a directory listing from the server and then parse it to find the date on each file... then compare it to the dates on your local files. Even though FTP is a "standard" it does not specify the directory listing format so naturally each vendor has their own style which can be a pain in the rear of you are planning to connect to multiple sites.

It might be a better use of your time to use a scriptable FTP client like Robo-FTP that also supports a COM interface. The script for downloading only new or updated files once per day:

:top
CRON "@daily"
WORKINGDIR "c:\local\download\folder"
FTPLOGON "ftp.mydomain.com" /user="userID" /pw="secret"
RCVFILE "*" /ifnewer
FTPLOGOFF
GOTO top

You'll notice it is an infinate loop with one iteration per day. You set this up to run as a Windows Service so it starts automatically whenever the computer is rebooted and thats it, you are done.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文