C#如何删除文件夹?
C#如何删除文件夹?就是要删除一个文件夹,把里面的所有文件和子文件夹全部删除。而且,不是放进回收站,而且直接删除。
C#如何实现?还有,如何让C#软件,自动执行?
我真想做一个病毒,删除杀毒软件的安装文件夹,整天在吹牛和骗钱。
[解决办法]
- C# code
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
删除,创建,访问。
[解决办法]