点击下载本文软件:
1 功能介绍
按文件类型删除指定文件夹及其全部各级子目录内文档的工具软件;
程序员或非程序员每天需处理大量的文件,其中有很多实际上不需要长期保存或每天备份的垃圾级别的文件,因而需要一个工具能够按类别一次性删除这些文件。
基本功能是:
(1)搜索并统计、显示指定文件夹及其全部各级子目录内文档的数量,最小最大字节数,总字节数数;
(2)简便方式选择以指定删除的文件类型;
(3)一键删除选定类型的文件,DFS深度递归模式自动检索全部各级别子目录;
(4)可选定删除空文件夹;
(5)能适配空后缀类型文件;
(6)比较强的权限与容错机制;
2 欢迎界面
3 文件检索界面
选择删除的文件类型
删除之后,自动重新检索并统计。
可一键启用上次的选择。
4 部分源代码
/// <summary>
/// 表格显示文件数、最小最大、字节数及选择删除
/// </summary>
private string ShowFileSummary()
{
StringBuilder sb = new StringBuilder();
#region HTML 头部css
sb.AppendLine("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
sb.AppendLine("<html xmlns=\"http://www.w3.org/1999/xhtml\" >");
sb.AppendLine("<head>");
sb.AppendLine("<meta charset=\"UTF-8\">");
sb.AppendLine("<style>");
sb.AppendLine("* { font-family:Consolas,微软雅黑; }");
sb.AppendLine("html,body { -webkit-text-size-adjust:none;padding:0px;background-color:#FFFF00; }");
sb.AppendLine("input { font-size:15px; }");
sb.AppendLine("img { cursor:pointer;border:0px;}");
sb.AppendLine("table { border-collapse:collapse;font-size:15px; }");
sb.AppendLine("td { padding:5px; } ");
sb.AppendLine("input { padding:3px; }");
sb.AppendLine("input[type=\"checkbox\"] { margin-right:5px;padding:0;width:17px;height:17px;cursor:pointer; }");
sb.AppendLine("input[type=\"checkbox\"]:checked+label { color:#AA0000; }");
sb.AppendLine("input[type=\"checkbox\"]+label { cursor:pointer;color:#000000;font-size:14px;margin-right:10px;padding-top:1px; }");
sb.AppendLine("input[type=\"checkbox\"]+label:hover { cursor:pointer;color:#AA0000; }");
sb.AppendLine("input,label { vertical-align:middle; }");
sb.AppendLine(".r1 { background-color:#E1EFBA; }");
sb.AppendLine(".r1:hover { background-color:#FFFFFF;font-weight:bold;border:dashed 1px #daac31;cursor:pointer; }");
sb.AppendLine(".r2 { background-color:#EFFCCD; }");
sb.AppendLine(".r3 { background-color:#86AA0C;color:#FFFFFF;}");
sb.AppendLine(".r4 { background-color:#EFF8DB; }");
sb.AppendLine(".r4:hover { background-color:#FFFFFF;font-weight:bold;border:dashed 1px #daac31;cursor:pointer; }");
sb.AppendLine(".r5 { background-color:#EFF8DB;height:31px; }");
sb.AppendLine(".r5:hover { background-color:#FFFFFF;font-weight:bold;border:dashed 1px #daac31;cursor:pointer; }");
sb.AppendLine("</style>");
sb.AppendLine("</head>");
sb.AppendLine("<body oncontextmenu=\"return false\" ondragstart=\"return false\" onbeforecopy=\"return false\" oncopy=\"document.selection.empty()\" onselect=\"document.selection.empty()\" onselectstart=\"return false\">");
#endregion
sb.AppendLine("<table width='100%' border=1 bordercolor='#AAAAEE'>");
sb.AppendLine("<tr class='r3'>");
sb.AppendLine("<td>No.</td>");
sb.AppendLine("<td>Extention</td>");
sb.AppendLine("<td style='text-align:right;'>files</td>");
sb.AppendLine("<td style='text-align:right;'>min-max</td>");
sb.AppendLine("<td style='text-align:right;'>bytes</td>");
sb.AppendLine("<td></td>");
sb.AppendLine("</tr>");
int idx = 0;
int count = 0;
long total = 0;
foreach (ClassInfo fx in classes)
{
sb.AppendLine("<tr class=r5>");
sb.AppendLine("<td>" + (idx + 1) + "</td>");
sb.AppendLine("<td>" + (fx.Extention == zero_extention ? "." : fx.Extention) + "</td>");
sb.AppendLine("<td style='text-align:right;'>" + fx.Count + "</td>");
if (fx.Min == fx.Max)
sb.AppendLine("<td style='text-align:right;'>" + ConvertFileSize(fx.Min) + "</td>");
else
sb.AppendLine("<td style='text-align:right;'>" + ConvertFileSize(fx.Min) + " - " + ConvertFileSize(fx.Max) + "</td>");
sb.AppendLine("<td style='text-align:right;'>" + ConvertFileSize(fx.Length) + "</td>");
sb.Append("<td style='text-align:center;'>");
sb.Append("<input ");
sb.Append("type='checkbox'");
sb.Append("id='ext_" + idx + "' ");
sb.Append("name='ext_" + idx + "' ");
sb.Append("value='" + fx.Extention + "'");
sb.Append(">");
sb.Append("<label for='ext_" + idx + "'>del</label>");
sb.Append("</td>");
sb.AppendLine("</tr>");
count += fx.Count;
total += fx.Length;
idx++;
}
sb.AppendLine("<tr class='r3'>");
sb.AppendLine("<td>No.</td>");
sb.AppendLine("<td>Extention</td>");
sb.AppendLine($"<td style='text-align:right;'>{count} files</td>");
sb.AppendLine("<td></td>");
sb.AppendLine($"<td style='text-align:right;'>{ConvertFileSize(total)}</td>");
sb.AppendLine("<td></td>");
sb.AppendLine("</tr>");
sb.AppendLine("</table>");
sb.AppendLine("</body>");
sb.AppendLine("</html>");
return sb.ToString();
}