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