删除Visual Studio默认nuget包下的多余版本的,本地nuget包保存的文件特别多,删除多余的版本,只保留最新的。
用法:编译好的exe放在你的nuget包的位置 。
using System;
using System.Linq;
using System.IO;
namespace DelPackage
{
class Program
{
static void Main(string[] args)
{
var dir = AppDomain.CurrentDomain.BaseDirectory;
Console.WriteLine($"当前目录{dir}");
var dirs = Directory.GetDirectories(dir);
Console.WriteLine($"当前目录{dirs.Length}");
Console.WriteLine($"按任意键继续,删除无用目录");
Console.ReadKey();
int cnt = 0;
foreach (var item in dirs)
{
var sdirs = Directory.GetDirectories(item);
if (sdirs.Length <= 1)
continue;
var maxName = sdirs.Max();
Console.WriteLine($"maxName={maxName}");
foreach (var delDir in sdirs.Where(p=>p!=maxName))
{
Console.WriteLine($"delDir={delDir}");
cnt++;
Directory.Delete(delDir, true);
}
}
Console.WriteLine($"共删除={cnt}个目录,任意键退出");
Console.ReadKey();
}
}
}