I have a method that will iterate through a folder and all of its subfolders and get a list of the file paths. However, I could only figure out how to create it and add the
private List<String> DirSearch(string sDir)
{
List<String> files = new List<String>();
try
{
foreach (string f in Directory.GetFiles(sDir))
{
files.Add(f);
}
foreach (string d in Directory.GetDirectories(sDir))
{
files.AddRange(DirSearch(d));
}
}
catch (System.Exception excpt)
{
MessageBox.Show(excpt.Message);
}
return files;
}
and if you don't want to load the entire list in memory and avoid blocking you may take a look at the following answer.
Simply use this:
public static List<String> GetAllFiles(String directory)
{
return Directory.GetFiles(directory, "*.*", SearchOption.AllDirectories).ToList();
}
And if you want every file, even extensionless ones:
public static List<String> GetAllFiles(String directory)
{
return Directory.GetFiles(directory, "*", SearchOption.AllDirectories).ToList();
}