FTP - 命令或设置为整个会话设置“永不覆盖”

时间:2011-08-29 12:36:25

标签: delphi ftp sync synapse

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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