The Directory and DirectoryInfo classes let you create, browse, and manage folders.
Directory.Exists("uploads"); // true/false
Directory.CreateDirectory("uploads/images"); // creates all missing segments
string current = Directory.GetCurrentDirectory();
Console.WriteLine(current);
// All files in a directory
string[] files = Directory.GetFiles("logs");
foreach (string f in files)
Console.WriteLine(f);
// Filter by extension
string[] textFiles = Directory.GetFiles("docs", "*.txt", SearchOption.AllDirectories);
// Subdirectories
string[] dirs = Directory.GetDirectories("src");
var dir = new DirectoryInfo("uploads");
foreach (FileInfo file in dir.GetFiles("*.png"))
{
Console.WriteLine($"{file.Name} — {file.Length} bytes");
// Process each PNG...
}
Directory.Move("old-folder", "new-folder");
// Delete (must be empty by default)
Directory.Delete("temp");
// Delete with all contents
Directory.Delete("temp", recursive: true);