Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace TraverseWindowsDirectories
- {
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Text;
- /// <summary>
- /// Write a program to traverse the directory C:\WINDOWS and all its subdirectories recursively and to display all files matching the mask *.exe. Use the class System.IO.Directory.
- /// </summary>
- public class TraverseWindowsDirectories
- {
- private static readonly List<string> files = new List<string>();
- public static void Main()
- {
- string rootDirectory = @"C:\Windows";
- string fileExtension = "*.exe";
- TraverseDirectory(rootDirectory, fileExtension);
- Console.WriteLine(PrintFiles(files));
- }
- private static void TraverseDirectory(string currentPath, string fileExtension)
- {
- string[] currentDirectoryFiles = Directory.GetFiles(currentPath, fileExtension);
- files.AddRange(currentDirectoryFiles);
- string[] currentDirectorySubDirectories = Directory.GetDirectories(currentPath);
- try
- {
- foreach (var directory in currentDirectorySubDirectories)
- {
- TraverseDirectory(directory, fileExtension);
- }
- }
- catch (System.UnauthorizedAccessException excpt)
- {
- Console.WriteLine(excpt.Message);
- }
- }
- private static string PrintFiles(List<string> files)
- {
- StringBuilder output = new StringBuilder();
- for (int i = 0; i < files.Count; i++)
- {
- output.AppendLine(files[i]);
- }
- return output.ToString();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement