2

我正在使用 WinSCP .NET 程序集通过 C# .NET 通过 SFTP 进行下载和上传。我有下载功能,但我正在寻找一种方法来列出远程服务器中的文件(或至少列出具有特定扩展名的文件),因此用户只需从具有特定扩展名(如.txt)的文件中进行选择即可获取他们想要的文件。

有没有办法用 WinSCP .NET 程序集做到这一点?

4

2 回答 2

4

使用Session.ListDirectories方法

RemoteDirectoryInfo directory = session.ListDirectory("/home/martin");

foreach (RemoteFileInfo fileInfo in directory.Files)
{
    string extension = Path.GetExtension(fileInfo.Name);
    if (string.Compare(extension, ".txt", true) == 0)
    {
        Console.WriteLine("Adding {0} to listing", fileInfo.Name);
    }
}

或者Session.EnumerateRemoteFiles方法

IEnumerable<RemoteFileInfo> fileInfos =
    session.EnumerateRemoteFiles("/home/martin", "*.txt", EnumerationOptions.None);
foreach (RemoteFileInfo fileInfo in fileInfos)
{
    Console.WriteLine("Adding {0} to listing", fileInfo.Name);
}
于 2014-03-27T05:57:20.993 回答
2

是的,您可以使用RemoteFileInfoRemoteDirectoryInfo类来获取远程文件和目录的详细信息。然后,根据您的要求,您可以使用自定义逻辑来检索特定文件。

更多信息在这里

于 2014-03-26T16:32:58.217 回答