所以,基本上我尝试从服务器上的整个文件夹中只下载一个文件。
文件夹"域"现在包含这些文件:
文件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.GetFiles
的localPath
参数的文档所说,参数是:
要将文件下载到的完整路径。
所以它应该是:
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