如何使用 C# 中的 WinSCP .NET 程序集将内容从一个远程目录复制到同一服务器中的另一个远程目录

How to copy things from one remote directory to another in the same server using WinSCP .NET assembly in C#

有没有办法将文件从一个远程目录复制到另一个目录,例如从

.../public_html/Folder1/name1/ to .../public_html/Folder1/name2/

我为此使用 WinSCP .NET 库。我试图在互联网上到处寻找解决方案,但似乎找不到。我能想出的唯一解决方案是将文件下载到临时本地位置,然后将它们再次上传到新的远程位置,我不想这样做,因为这比将它们复制到要花费更长的时间远程服务器,然后我会删除临时文件夹,这也需要时间。我不希望我的程序非常慢,因为在将文件上传到远程位置时它已经有点慢了。 我已经看到您可以 move/rename folders/files 通过执行以下操作从远程位置到另一个位置:

session.Open(sessionOptions);
session.MoveFile(".../public_html/Folder1/name1/", ".../public_html/Folder1/name2/");

如何复制服务器中的文件。 如果有人有更好的解决方案,请说出来,因为这会很有帮助。提前致谢。

WinSCP .NET 程序集没有用于此的 API。

即使有,大多数 FTP/SFTP 服务器也不支持:

  • FTP copy a file to another place in same FTP
  • How can I copy/duplicate a file to another directory using SFTP?

不过你没有说明你使用的是什么协议。