使用WinSCP .NET程序集列出具有特定扩展名的文件

时间:2014-03-26 16:19:24

标签: c# sftp winscp directory-listing winscp-net

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

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

2 个答案:

答案 0 :(得分:3)

使用Session.ListDirectories method

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 method

IEnumerable<RemoteFileInfo> fileInfos =
    session.EnumerateRemoteFiles("/home/martin", "*.txt", EnumerationOptions.None);
foreach (RemoteFileInfo fileInfo in fileInfos)
{
    Console.WriteLine("Adding {0} to listing", fileInfo.Name);
}

答案 1 :(得分:2)

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

有关here的更多信息。