我在一个项目中一直使用WinSCP .NET程序集将文件从一个FTP服务器传输到另一个FTP服务器。现在,我想将文件从一个目录复制到另一个目录(两者都在同一FTP服务器上)。我在WinSCP .NET程序集中找到了以下方法:
MoveFile(string sourcePath, string targetPath)
但是它将文件从源目录移动到目标路径(从源路径删除),而我想在两个路径上都保留一个副本。
我发现WinSCP客户端中有一种称为复制的方法,该方法执行复制操作,但是在汇编中不可用。
有什么方法可以将原始文件保留在源路径中,也可以在目标位置创建副本吗?
注意:
我的问题特定于WinSCP .Net程序集。我不是在问FTP协议。
答案 0 :(得分:1)
使用Session.DuplicateFile
method:
public void DuplicateFile(string sourcePath, string targetPath)
不过请注意,只有在server actually supports the duplication, what most servers don't下它才有效。
而GUI “重复” 功能将退回到“下载并上传”(在GUI中称为"Duplicate via local temporary copy")。在.NET程序集中,您可以使用Session.GetFiles
和Session.PutFiles
进行相同的操作,Session.DuplicateFile
不会自动为您完成。