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

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

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

使用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 fileInfos = session.EnumerateRemoteFiles("/home/martin", "*.txt", EnumerationOptions.None); foreach (RemoteFileInfo fileInfo in fileInfos) { Console.WriteLine("Adding {0} to listing", fileInfo.Name); } 

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

关于这里的更多信息。