private static void IterateDirectories(string p_TargetDir, string p_FilePattern, ref Hashtable p_htDirs, ref Hashtable p_htFiles) { try { string[] files = Directory.GetFiles(p_TargetDir, p_FilePattern);//, p_FilePattern + "*.*"); string[] Dirs = Directory.GetDirectories(p_TargetDir); // remove the sent in directory immediately p_htDirs.Remove(p_TargetDir); Hashtable htLocalDir = new Hashtable(5000); Hashtable htLocalFiles = new Hashtable(5000); int DirCount = 0; int FileCount = 0; // add all subdirectories for (DirCount = 0; DirCount < Dirs.Length; DirCount++) { try { p_htDirs.Add(Dirs[DirCount], Dirs[DirCount]); htLocalDir.Add(Dirs[DirCount], Dirs[DirCount]); } catch //(System.ArgumentException ex) { } } // add all files for (FileCount = 0; FileCount < files.Length; FileCount++) { try { count++; p_htFiles.Add(files[FileCount], files[FileCount]); htLocalFiles.Add(files[FileCount], files[FileCount]); } catch //(System.ArgumentException ex) { } } while (htLocalDir.Count > 0) { System.Collections.IDictionaryEnumerator LocalDirEnum; LocalDirEnum = htLocalDir.GetEnumerator(); LocalDirEnum.MoveNext(); htLocalDir.Remove(LocalDirEnum.Key.ToString()); } // iterate through all of the files in the current directory while (htLocalFiles.Count > 0) { System.Collections.IDictionaryEnumerator LocalFileEnum; LocalFileEnum = htLocalFiles.GetEnumerator(); LocalFileEnum.MoveNext(); htLocalFiles.Remove(LocalFileEnum.Key.ToString()); } } catch //(System.UnauthorizedAccessException myEx) { p_htDirs.Remove(p_TargetDir); } }
private static void IterateDirectories(string p_TargetDir, string [] p_FilePattern, ref Hashtable p_htDirs, ref Hashtable p_htFiles) { try { string[] files = null; ArrayList FileList = new ArrayList(); foreach (string strPattern in p_FilePattern) { files = Directory.GetFiles(p_TargetDir, strPattern); foreach (string filename in files) { FileList.Add(filename); } } string [] Dirs = Directory.GetDirectories(p_TargetDir); // remove the sent in directory immediately p_htDirs.Remove(p_TargetDir); Hashtable htLocalDir = new Hashtable(5000); Hashtable htLocalFiles = new Hashtable(5000); int DirCount = 0; int FileCount = 0; // add all subdirectories for (DirCount = 0; DirCount < Dirs.Length; DirCount++) { try { p_htDirs.Add(Dirs[DirCount], Dirs[DirCount]); htLocalDir.Add(Dirs[DirCount], Dirs[DirCount]); } catch //(System.ArgumentException ex) { //Console.WriteLine(ex.Message); } } // add all files for (FileCount = 0; FileCount < FileList.Count; FileCount++) { try { p_htFiles.Add(FileList[FileCount], FileList[FileCount]); htLocalFiles.Add(FileList[FileCount], FileList[FileCount]); } catch //(System.ArgumentException ex) { //Console.WriteLine(ex.Message ); } } while (htLocalDir.Count > 0) { System.Collections.IDictionaryEnumerator LocalDirEnum; LocalDirEnum = htLocalDir.GetEnumerator(); LocalDirEnum.MoveNext(); // RAD 12/01/04 Console.WriteLine(myEnumerator.Key.ToString()); htLocalDir.Remove(LocalDirEnum.Key.ToString()); } // iterate through all of the files in the current directory while (htLocalFiles.Count > 0) { System.Collections.IDictionaryEnumerator LocalFileEnum; LocalFileEnum = htLocalFiles.GetEnumerator(); LocalFileEnum.MoveNext(); // RAD 12/01/04 Console.WriteLine(myEnumerator.Key.ToString()); htLocalFiles.Remove(LocalFileEnum.Key.ToString()); } } catch //(System.UnauthorizedAccessException myEx) { p_htDirs.Remove(p_TargetDir); } }