我正在使用 WinSCP .NET 程序集通过 C# .NET 通过 SFTP 进行下载和上传。我有下载功能,但我正在寻找一种方法来列出远程服务器中的文件(或至少列出具有特定扩展名的文件),因此用户只需从具有特定扩展名(如.txt
)的文件中进行选择即可获取他们想要的文件。
有没有办法用 WinSCP .NET 程序集做到这一点?
我正在使用 WinSCP .NET 程序集通过 C# .NET 通过 SFTP 进行下载和上传。我有下载功能,但我正在寻找一种方法来列出远程服务器中的文件(或至少列出具有特定扩展名的文件),因此用户只需从具有特定扩展名(如.txt
)的文件中进行选择即可获取他们想要的文件。
有没有办法用 WinSCP .NET 程序集做到这一点?
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);
}
是的,您可以使用RemoteFileInfo
和RemoteDirectoryInfo
类来获取远程文件和目录的详细信息。然后,根据您的要求,您可以使用自定义逻辑来检索特定文件。
更多信息在这里。