【问题标题】:FTP - command or setting to set "never overwrite" for a whole sessionFTP - 为整个会话设置“从不覆盖”的命令或设置
【发布时间】:2011-11-06 00:09:58
【问题描述】:

我正在为 Delphi 使用 Ararat Synapse,所以如果有办法设置这种模式(或将 ls 结果获取到字符串列表),我可以使用代码来完成。我查看了单元代码和 dokuwiki 并没有发现任何结论。

但如果有一个 FTP 命令或设置我可以用来防止覆盖(导致 GET 或 PUT 不被执行),它会为我节省很多时间。

我现在看到的使用普通 FTP 命令的唯一方法是将每个文件放在一个文件夹中。在创建文件夹之前,我尝试 CD 到它并 PWD 当前目录。

换句话说,一种“同步文件夹”,但仅限于特定的文件名列表。

【问题讨论】:

    标签: delphi ftp sync synapse


    【解决方案1】:

    对于您的要求,没有这样的 FTP 命令。您必须在自己的代码中实现这样的逻辑。如果目标文件夹中已存在文件,则不要发出GETPUT 命令。使用 Delphi 的 FileExists() 函数来检查本地文件是否存在。使用 FTP LISTMLST 和/或 SIZE 命令检查远程文件是否存在。

    【讨论】:

    • 我听从了您的建议并列出了现有文件,以便正确同步不在列表中的文件。现在,这是一个相当复杂的系统的一部分,该系统已经在我们的客户那里运行了几个月。谢谢!
    猜你喜欢
    • 2019-11-14
    • 2011-01-26
    • 1970-01-01
    • 2014-08-13
    • 2020-08-13
    • 1970-01-01
    • 2021-02-09
    • 2013-11-19
    • 1970-01-01
    相关资源
    最近更新 更多