C#如何删除文件夹? C#如何删除文件夹?就是要删除一个文件夹,把里面的所有文件和子文件夹全部删除。而且,不是放进回收站,而且直接删除。C#如何实现?还有,如何让C#软件,自动执行?我真想做一个病毒,删除杀毒软件的安装文件夹,整天在吹牛和骗钱。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;using System.Threading;using System.Text.RegularExpressions;namespace MyDelete{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } Thread thread;//构造线程 List<string> msgList = new List<string>(); private void StartBtn_Click(object sender, EventArgs e) { if(this.FilePath.Text==null || this.FilePath.Text==string.Empty) { MessageBox.Show("文件路径不能为空","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information); return; } Regex reg = new Regex(@"[url=file://\\[^\\]*$]\\[^\\]*$[/url]", RegexOptions.IgnoreCase); if(!reg.IsMatch(this.FilePath.Text)) { MessageBox.Show("请输入正确的文件路径", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } thread = new Thread(new ParameterizedThreadStart(DeleteFiles));//委托线程调用带参数的方法 thread.IsBackground = true; thread.Start(this.FilePath.Text); //执行删除方法 } delegate void InvokeText(string str); public void DeleteFiles(object state)//定义一个删除文件的方法 { string filenameslog = "";//用来保存删除记录 int deletefiles = 0; string strDir = state as string; while (true) { if (Directory.Exists(strDir))//判断指定的目录是否存在 { string[] strFiles = Directory.GetFiles(strDir);//获取该目录下的所有文件 if (strFiles.Length > 0)//判断文件夹下是否有文件 { filenameslog = (++deletefiles) + ":" + "删除成功,时间:" + DateTime.Now.ToString() + "\r\n"; InvokeText txt = delegate(string text) { msgList.Add(text); if (msgList.Count > 10) { msgList.RemoveAt(0); } string msgs = ""; foreach (string s in msgList) { msgs += s; } this.DeleteLog.Text = msgs; }; this.DeleteLog.Invoke(txt, new object[1] { filenameslog }); foreach (string strFile in strFiles) { File.Delete(strFile); } } } Thread.Sleep(1500); } } private void Form1_SizeChanged(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) this.Visible = false; else this.Visible = true; } private void notifyIcon1_DoubleClick(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.Visible = true; this.WindowState = FormWindowState.Normal; } else this.Visible = true; } private void ToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void Form1_Load(object sender, EventArgs e) { } System.IO.Directory.Delete(@"C:\Temp", true);就可以删除了自动自行的方法很多1 可以放到目录下C:\Documents and Settings\Administrator\「开始」菜单\程序\启动2 写到注册表[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]3计划任务定义一个计划任务4 写成WINDOWS服务...很多种你要删除正在运行的程序 ..那必须终止你要删除的进程. 支持!文件夹嘛,就要System.IO.Directory 其中,(@"C:\Temp", 是目录路径,true是表示是否递归删除其目录下的所有子目录。 System.IO.Directory删除,创建,访问。 System.IO.Directory.Delete(YourDirectory, true); 支持!文件夹嘛,就要System.IO.Directory 学习System.IO.Directory.Delete(@"C:\Temp",true); System.IO.Directory.Delete(@"C:\Temp", true);第二个参数是递归删除如果目录中有只读文件就删除不了还是自己写一个递归的方法来删除清除属性,杀死进程。 牛人啊!www.51csharp.net纯C#技术站点,欢迎前来参观。 System.IO.Directory.Delete(@"C:\Temp", true); System.IO.Drectory.delete("xxx",true); 基于BindingSource,父子窗体之间的传值,请各位高手多多指教 多线程下载问题 图片背景透明的问题 按钮透明设置 我发的帖子怎么才能给人加分?我怎么不能给人加呢? 高手哥哥 请你们帮妹妹看看错在哪里啊 printDocument的打印问题 怎么把这个客户端文件上传到服务器 程序打包后在别的机子上不能运行,Help!!!!!!! 我要学习.Net,而MM却要去K“珍珠港”,怎么办 C# Udp Socket网络编程 (在线等) vs2005中"转到定义"失败
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
using System.Text.RegularExpressions;
namespace MyDelete
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Thread thread;//构造线程
List<string> msgList = new List<string>();
private void StartBtn_Click(object sender, EventArgs e)
{
if(this.FilePath.Text==null || this.FilePath.Text==string.Empty)
{
MessageBox.Show("文件路径不能为空","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
}
Regex reg = new Regex(@"[url=file://\\[^\\]*$]\\[^\\]*$[/url]", RegexOptions.IgnoreCase);
if(!reg.IsMatch(this.FilePath.Text))
{
MessageBox.Show("请输入正确的文件路径", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
thread = new Thread(new ParameterizedThreadStart(DeleteFiles));//委托线程调用带参数的方法
thread.IsBackground = true;
thread.Start(this.FilePath.Text); //执行删除方法
}
delegate void InvokeText(string str);
public void DeleteFiles(object state)//定义一个删除文件的方法
{
string filenameslog = "";//用来保存删除记录
int deletefiles = 0;
string strDir = state as string;
while (true)
{
if (Directory.Exists(strDir))//判断指定的目录是否存在
{
string[] strFiles = Directory.GetFiles(strDir);//获取该目录下的所有文件
if (strFiles.Length > 0)//判断文件夹下是否有文件
{
filenameslog = (++deletefiles) + ":" + "删除成功,时间:" + DateTime.Now.ToString() + "\r\n";
InvokeText txt = delegate(string text)
{
msgList.Add(text);
if (msgList.Count > 10)
{
msgList.RemoveAt(0);
}
string msgs = "";
foreach (string s in msgList)
{
msgs += s;
}
this.DeleteLog.Text = msgs;
};
this.DeleteLog.Invoke(txt, new object[1] { filenameslog });
foreach (string strFile in strFiles)
{
File.Delete(strFile);
}
} }
Thread.Sleep(1500);
}
}
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
this.Visible = false;
else
this.Visible = true;
}
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
}
else
this.Visible = true;
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void Form1_Load(object sender, EventArgs e)
{
}
就可以删除了
自动自行的方法很多
1 可以放到目录下
C:\Documents and Settings\Administrator\「开始」菜单\程序\启动
2 写到注册表
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
3计划任务
定义一个计划任务
4 写成WINDOWS服务
...很多种
你要删除正在运行的程序 ..那必须终止你要删除的进程.
支持!
文件夹嘛,就要System.IO.Directory
删除,创建,访问。
文件夹嘛,就要System.IO.Directory
System.IO.Directory.Delete(@"C:\Temp",true);
第二个参数是递归删除
如果目录中有只读文件就删除不了还是自己写一个递归的方法来删除
清除属性,杀死进程。
www.51csharp.net纯C#技术站点,欢迎前来参观。