问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

菜鸟求c#问题。想要做一个清除系统垃圾的程序。求高人指点~

发布网友 发布时间:2024-09-25 16:49

我来回答

5个回答

热心网友 时间:2024-09-30 11:07

//代码很简单,绝对能用,全部复制就可以了

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.VisualBasic;
using System.IO;

namespace RubishClear
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
#region "全局的私有变量"

//设置需要清理的文件夹共5个;
public string[] _RubishPath=new string [5];
//设置用户名.;
string _UserName="";
//设置筛选分隔符;
char[] _split = new char[1] { '\\' };
//设置总文件大小的变量
long _AllMemory = 0;
#endregion

//获取文件夹的路径
void getRubishPath()
{
//获取当前的用户名.方法很多的.//
Microsoft.VisualBasic.Devices.ServerComputer sc = new Microsoft.VisualBasic.Devices.ServerComputer();
string[] All = sc.FileSystem.SpecialDirectories.MyDocuments.Split(_split);
_UserName = All[2];

_RubishPath.SetValue(@"C:\WINDOWS\SoftwareDistribution\Download\", 0);
_RubishPath.SetValue(@"C:\WINDOWS\$hf_mig$\", 2);
_RubishPath.SetValue(sc.FileSystem.SpecialDirectories.Temp + @"\", 3);
// MessageBox.Show(sc.FileSystem.SpecialDirectories.Temp);
_RubishPath.SetValue(@"C:\Documents and Settings\" + _UserName + @"\Recent\", 1);
_RubishPath.SetValue(@"C:\WINDOWS\ie7updates\", 4);
}

//获取垃圾文件的名字&获取要删除的文件的大小./
void getFilename()
{
try
{
foreach (string path in _RubishPath)
{
// string[] arr = Microsoft.VisualBasic.FileIO.FileSystem.GetDirectories(path);

foreach
(string _FileName in Microsoft.VisualBasic.FileIO.FileSystem.GetFiles(path,Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories))
{
try
{
FileInfo fi = new FileInfo(_FileName);//获取文件的所有信息.

_AllMemory += fi.Length;//删除的文件的大小叠加起来.

Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile(_FileName);//删除文件.本人原来使用的是VB所以vb的东西搬了过来.
//fi.Delete();//也可以使用fi.edlete事件.

this.listBox1.Items.Add(_FileName);//添加删除的文件.
}
catch (Exception exp)
{
this.listBox2.Items.Add(exp.Message);//添加没有删除的文件.
continue;//如果错误继续执行.
}
}
}
}
catch
{ }
}

//获取&删除垃圾文件夹/
void getDic()
{
try
{
foreach (string path in _RubishPath)
{
foreach
(string _PName in Microsoft.VisualBasic.FileIO.FileSystem.GetDirectories(path, Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories))
{
try
{
Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory
(_PName,Microsoft.VisualBasic.FileIO.DeleteDirectoryOption.DeleteAllContents);//删除文件.本人原来使用的是VB所以vb的东西搬了过来.
this.listBox1.Items.Add(_PName);//添加删除文件夹.
}
catch (Exception exp)
{
this.listBox2.Items.Add(exp.Message);//添加没有删除的文件夹.
continue;//如果错误继续执行.
}
}
}
}
catch { }
}

//登录事件
private void Form1_Load(object sender, EventArgs e)
{
getRubishPath();
}

//chilk事件
private void button1_Click(object sender, EventArgs e)
{
getFilename();//开始清空文件.
System.Threading.Thread.Sleep(100);//线程睡眠100毫秒.
getDic();//开始清空文件夹.
la1.Text = "程序共清空了:" + (int)(_AllMemory / 1024) + "K的垃圾文件";

MessageBox .Show ("已经成功删除了"+this.listBox1.Items.Count.ToString()+"项垃圾文件!");
}
}
}

热心网友 时间:2024-09-30 11:08

这类任务用批处理就搞定了……

@echo off
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo complete & successful
echo. & pause

把@echo off以下(包括@echo off)的内容存为.bat结尾的文件,双击运行即可。

热心网友 时间:2024-09-30 11:08

最简单的方法是直接用c#调用那段批处理的代码

把那段批处理的代码保存为D:\a.bat

然后这样调用
System.Diagnostics.Process.Start("D:\\b.bat");

热心网友 时间:2024-09-30 11:09

一楼的就很经典 我也在用 优化大师都用不上了

热心网友 时间:2024-09-30 11:10

当然用IO包了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 炒外汇风险大不大?新手如何降低风险 大奉打更人圣子是 吃鸡火箭少女摩托多少钱 粉色摩托价格计算 诺基亚N96凤凰刷机的问题! 关于诺基亚n96的维修问题 急。。。 诺基亚n96铃声问题 我是诺基亚N96手机,大家都知道键盘上有N96的音乐操作键盘。用自带的播放... 诺基亚N96使用J.A.F刷机,总出现问题! 诺基亚n96音乐播放程序没有了 诺基亚n96更新音乐库问题 诺基亚N96怎么找不到刷新音乐库功能 怎样学溜冰作文 首次烹饪蒜蓉香菇时需要注意什么? 火箭工程兵湖北通上是什么的 中泽建工集团有限责任公司简介 安通建设有限公司公司介绍 工兵代表是什么意思? 请问8mm+12A+8mm中空钢化隔热型幕墙做多少钱平米?{包括安装及材料费包... ...颜色怎样可以洗掉_衣服染色了用什么方法可以去掉 小米帐号怎么解除保护啊? 使用visual basic编一个方块 我的家乡英语作文怎么写? 我身高一米六,体重100斤,不是很胖,也不是很瘦,是中等吧?是正常吧?为什... 我身高1.60体重100斤算胖吗 我是女生,身高173,体重100斤,我知道我不算胖,但是我大腿挺粗的,怎么减... 华为手机突然媒体声音没有怎么回事?_百度问一问 我也是啊。我身高160 体重100也算是标准体重啊 。为什么看起来还是... 华为手机扬声器坏了怎么办(手机扬声器坏了怎么办) 安卓版本4.0.3的华为手机能打电话能听到声音,但播放音乐视频都听不到... 衣服被染色了怎么洗掉最简单 两个人分手后是做朋友好一些还是陌生人好一些? 怎样做才能让老人不觉得孤独寂寞? 当两人分开了之后,你会选着做陌生人还是朋友??? 失恋后要这样处理和以前女友的关系???是朋友还是最熟悉的陌生人??? 分手后该不该联系?是做最熟悉的陌生人好还是做普通朋友好? 无线网络中dbm指的是什么 2023年最新值得借鉴的公关案例汇总 2022年度危机公关案例盘点之“公关+一线岗位”篇 最近危机公关成功的案例有哪些? 突发事件公关处理案例