Tuesday, April 13, 2010

loop through folders or directories including sub folders

public static void ProcessDir(string sourceDir/*, int recursionLvl*/)
{

string sTemp = sDestinationFolder;
// sw8.WriteLine("**********" + sourceDir + "***********");

// if (recursionLvl <= 5)
// {
// Process the list of files found in the directory.
string[] fileEntries = Directory.GetFiles(sourceDir);
foreach (string fileName in fileEntries)
{
sTemp = fileName.Remove(0, sDestinationFolder.Length + 1);
lstSource.Add(sTemp);
WriteLogFile(sTemp, MESSAGE_TYPE.INFO);
// do something with fileName
Console.WriteLine(fileName);
}

// Recurse into subdirectories of this directory.
string[] subdirEntries = Directory.GetDirectories(sourceDir);
foreach (string subdir in subdirEntries)
{
sTemp = subdir.Remove(0, sDestinationFolder.Length + 1);
WriteLogFile(sTemp, MESSAGE_TYPE.INFO);
lstSource.Add(sTemp);

// Do not iterate through reparse points
if ((File.GetAttributes(subdir) &
FileAttributes.ReparsePoint) !=
FileAttributes.ReparsePoint)

ProcessDir(subdir/*, recursionLvl + 1*/);
}
// }
}

No comments: