2011-08-29 52 views
0

我使用Ararat Synapse for Delphi,所以如果有一種方法來設置這種模式(或者將ls結果設置爲字符串列表),我可以做到這一點與代碼。我查看了單元代碼和dokuwiki,但沒有發現任何結論。FTP - 命令或設置爲整個會話設置「永不覆蓋」

但是,如果有一個FTP命令或設置我可以用來防止覆蓋(導致GET或PUT不被執行),它會爲我節省很多時間。

使用我現在看到的普通FTP命令的唯一方法是將每個文件放在一個文件夾中。在創建文件夾之前,我嘗試使用CD來讀取當前目錄並將PWD寫入當前目錄。

換句話說,一種「同步文件夾」,但僅限於特定的文件名列表。

回答

3

對於你所問的問題,沒有這樣的FTP命令。你必須在你自己的代碼中實現這樣的邏輯。如果文件已存在於目標文件夾中,則不要發出GETPUT命令。使用Delphi的FileExists()函數來檢查本地文件是否存在。使用FTP LIST,MLST和/或SIZE命令檢查是否存在遠程文件。

+0

我遵循了你的建議,並列出了現有文件以獲得列表中未列出的正確同步。現在,這是一個非常複雜的系統的一部分,它已經在我們的客戶中運行了好幾個月。謝謝! –