如何在WinSCP C#中使用Session.GetFiles下载单个文件



所以,基本上我尝试从服务器上的整个文件夹中只下载一个文件。

文件夹"域"现在包含这些文件:

文件1.txt
文件2.txt
文件3.txt

因此,正如我在 WinSCP 文档中看到的那样,如果我只想下载一个文件,我仍然应该使用具有文件完整路径的Session.GetFiles()(方法文档)。好的,但我不明白我的问题是什么,因为它不起作用。

session.GetFiles("/domains/domain/File1.txt", Directory.GetCurrentDirectory());

但是,如果我将远程路径更改为整个目录,则不需要单个文件,我需要它工作得很好,但我不需要所有三个.txt文件。

session.GetFiles("/domains/domain/", Directory.GetCurrentDirectory());

正如Session.GetFileslocalPath参数的文档所说,参数是:

要将文件下载到的完整路径。

所以它应该是:

var localPath = Path.Combine(Directory.GetCurrentDirectory(), "File1.txt");
session.GetFiles("/domains/domain/File1.txt", localPath);

或者,您可以使用Session.GetFileToDirectory来简化代码,它会执行您对Session.GetFiles的期望:

session.GetFileToDirectory(
"/domains/domain/File1.txt", Directory.GetCurrentDirectory());

参见 https://winscp.net/eng/docs/faq_script_vs_gui#inputs

最新更新