Skip to content

Instantly share code, notes, and snippets.

@shawnwildermuth
Created March 17, 2021 06:21
Show Gist options
  • Save shawnwildermuth/182f3236860522e52d7b5b4625b781d7 to your computer and use it in GitHub Desktop.
Save shawnwildermuth/182f3236860522e52d7b5b4625b781d7 to your computer and use it in GitHub Desktop.
Top-Level Example for Cleaning Visual Studio projects
using System;
using System.IO;
using System.Linq;
using static System.Console;
WriteLine("VSCleaner...");
if (args.Length != 1)
{
WriteLine("You must supply a directory name.");
WriteLine("VSCleaner {DirectoryName}");
return;
}
var toBeDeleted = new string[] { "bin", "obj", "node_modules" };
if (new DirectoryInfo(args[0]).Exists)
{
CleanDirectories(args[0]);
}
WriteLine("Completed...");
void CleanDirectories(string dirName)
{
var directories = Directory.GetDirectories(dirName);
foreach (var directory in directories)
{
var info = new DirectoryInfo(directory);
if (toBeDeleted.Contains(info.Name.ToLower()))
{
WriteLine($"Deleting {directory}");
info.Delete(true);
}
else
{
CleanDirectories(directory);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment