using System; using System.Collections.Generic; using System.Text; using System.IO; namespace GetFiles { class Program { static Stack directoryStack = new Stack(); static void Main(string[] args) { Console.WriteLine("Application to find all the JPG files"); Console.WriteLine("====================================="); Console.Write("Location:"); string location = Console.ReadLine(); // Delete file.txt if (File.Exists(@"C:\file.txt")) File.Delete(@"C:\file.txt"); // Create DirectoryInfo instance DirectoryInfo di = new DirectoryInfo(location); // Add valid DirectoryInfo instance into stack if (di != null) directoryStack.Push(di); // stop looping when directoryStack items is equal to 0 while (directoryStack.Count != 0) GetFiles(); Console.WriteLine("Success"); Console.ReadLine(); } static void GetFiles() { StreamWriter sw = System.IO.File.AppendText(@"C:\file.txt"); // Get latest Directory Information from stack DirectoryInfo currentDirectory = directoryStack.Pop(); // Get all sub directories DirectoryInfo[] getDirectories = currentDirectory.GetDirectories(); // Add all sub directories into stack for (int i = 0; i < getDirectories.Length; i++) directoryStack.Push(getDirectories[i]); // Get all jpg files FileInfo[] getFilesInfo = currentDirectory.GetFiles("*.jpg"); // Write jpg full details into file.txt for (int j = 0; j < getFilesInfo.Length; j++) sw.WriteLine(getFilesInfo[j].FullName); sw.Close(); } } }