public static FTPFile[] GetFileInfosRecursive(this FTPConnection connection) { var resultList = new List <FTPFile>(); var fileInfos = connection.GetFileInfos(); resultList.AddRange(fileInfos); foreach (var fileInfo in fileInfos) { if (fileInfo.Dir) { connection.ServerDirectory = fileInfo.Path; resultList.AddRange(connection.GetFileInfosRecursive()); } } return(resultList.ToArray()); }
static void Main(string[] args) { using (var connection = new FTPConnection { ServerAddress = "127.0.0.1", UserName = "******", Password = "******", }) { connection.Connect(); connection.ServerDirectory = "/recursive_folder"; var resultRecursive = connection.GetFileInfosRecursive().Where(f => !(f.Name.EndsWith(".old"))).ToList(); var resultDefault = connection.GetFileInfos().Where(f => !(f.Name.EndsWith(".old"))).ToList(); } }