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

How to download a single file using Session.GetFiles in WinSCP C#

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

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

File1.txt
File2.txt
File3.txt

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

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

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

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

正如 localPath argument of Session.GetFiles 的文档所说,参数是:

Full path to download the file to.

所以应该是:

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());