I am using WinSCP .NET assembly to do a download and upload through SFTP with C# .NET. I have the download function working but I am looking for a way to have the files in the remote server listed (or at least listed with a specific extension) so user only have to choose from those files with the specific extension (like .txt
) to get the files they want.
Is there a way to do that with WinSCP .NET assembly?
Use the 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);
}
}
Or the 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);
}