请先看好我的问题,因为在网上我没有找到一个适合我用的。可能是我太笨了 比如D盘里有一个文件夹test。里面有很多txt文本。文件名后面有创建的时间,我想指定时间范围来删除文件比如在20100303到20100703之间生成了N多Tex,我想根据这个时间来删除。
,并且用按钮点击删除。 有一个窗体。面有个按钮button1 。点击按钮的时候就删除我需要删除的文件。然后我创建了一个delFile类。
就2个如果用不到该类也行。只要能完成操作就行了
,并且用按钮点击删除。 有一个窗体。面有个按钮button1 。点击按钮的时候就删除我需要删除的文件。然后我创建了一个delFile类。
就2个如果用不到该类也行。只要能完成操作就行了
解决方案 »
- 用C#如何实现登录下一个窗口后关掉前一个登录窗口
- System.ComponentModel.Win32Exception: 拒绝访问。
- C#操作AD 错误提示:“该服务器不愿意处理该请求” - .NET技术 / C#
- 关于串口引用问题
- c# 音乐分割和合并的代码怎么写
- (417)Epectation Failed错误,http post--消息头不符和规范
- C#如何做搜索引擎?
- 请教思归,孟子等大侠,为什么Enterprise Library 2.0里会没有Cryptography Application Block?
- SourceSafe非常慢
- 求救:使用API出错:对 PInvoke 函数“盘点数据读写测试!盘点数据读写测试.FormMain::hst_open”的调用导致堆栈不对称。
- 如何连续清空
- asp.net(c#)web 页面用activex控件 怎么写
{
List<string> files = new List<string>();
DateTime begin = DateTime.ParseExact("20100303", "yyyyMMdd", null);
DateTime end = DateTime.ParseExact("20100703", "yyyyMMdd", null);
foreach (string filepath in Directory.GetFiles(@"c:\test", "*.txt", SearchOption.AllDirectories))
{
FileInfo fi = new FileInfo(filepath);
if (fi.CreationTime>=begin && fi.CreationTime<= end)
{
files.Add(filepath);
}
} //files就是你你要的所有符合的文件路径(绝对路径)
Console.ReadKey();
}
FileInfo[] txtfiles = dir.GetFiles("*.txt);
Foreach( FileInfo f in txtfiles )
{
Console.WriteLine("Creation time is : {0}", f.CreationTime); //获取创建时间
//后边再根据时间删除
}
获取或设置当前 FileSystemInfo 对象的创建时间。DirectoryInfo di = new DirectoryInfo(@"路径");
int idx = 0;foreach (FileInfo fi in di.GetFiles("*.txt"))
{
if(fi.CreationTime.CompareTo(Convert.ToDateTime("20100303")>0 && fi.CreationTime.CompareTo(Convert.ToDateTime("20100703")<0)
fi.Delete();}
fi.Delete();
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;namespace DelFile
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
生成该窗体的时候,已经有这个类,但是如果按照3楼的那个方法。在我自己创建的类中写的话,就会报Main这个错误。
另外一楼,我的大概意思是这样的。只要你写出这个类的方法就行了。关于调用你就不用操心了。。这个是我创建的一个类using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;namespace DelFile
{
public class DelFile
{
}
}
Console.ReadKey();
删掉即可。
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;namespace DelFile
{
public class DelFile
{
DirectoryInfo di;
public DelFile(string path)
{
di = new DirectoryInfo(path);
}
public DeleteFile()
{
foreach (FileInfo fi in di.GetFiles("*.txt"))
{
if(fi.CreationTime.CompareTo(Convert.ToDateTime("20100303")>0 && fi.CreationTime.CompareTo(Convert.ToDateTime("20100703")<0)
fi.Delete();
}
}
}
}
using System.IO;
public class DelFile
{
public string path{get;set;}//路径
public voud deletefile()
{//代码}
}
DeleFile d=new DeleFile();或DeleFile("路径");
d.path="";
d.deletefile();
DLL添加引用using 命名空间;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;namespace DelFile
{
public class DelFile
{
static void Main(string[] args)
{
}
public DelFile()
{ List<string> files = new List<string>();
DateTime begin = DateTime.ParseExact("2010/03/03", "yyyy/MM/dd", null);
DateTime end = DateTime.ParseExact("2010/11/03", "yyyy/MM/dd", null);
foreach (string filepath in Directory.GetFiles(@"D:\test", "*.txt", SearchOption.AllDirectories))
{
FileInfo fi = new FileInfo(filepath);
if (fi.CreationTime >= begin && fi.CreationTime <= end)
{
files.Add(filepath);
}
}
} }
}
我这样声明都点不出来
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;namespace YourNamespace
{
public class DelFile
{
/// <summary>
/// 指定目录、起始结束时间、扩展名删除文件
/// </summary>
/// <param name="start">开始时间</param>
/// <param name="end">结束时间</param>
/// <param name="filter">过滤字符串,例如:*.txt</param>
/// <param name="directory_path">目录的绝对路径或相对路径</param>
/// <param name="recursion">是否删除子目录中符合条件的文件</param>
public static void DelFile(DateTime start,DateTime end,string filter,string directory_path,bool recursion)
{
foreach (string filepath in Directory.GetFiles(directory_path, filter, recursion?SearchOption.AllDirectories: SearchOption.TopDirectoryOnly))
{
FileInfo fi = new FileInfo(filepath);
if (fi.CreationTime >= begin && fi.CreationTime <= end)
{
fi.Delete();
}
}
}
}
}
调用方法YourNamespace.DelFile.DelFile(
DateTime.ParseExact("2010/03/03", "yyyy/MM/dd", null),//开始时间
DateTime.ParseExact("2010/11/03", "yyyy/MM/dd", null),//结束时间
"*.txt",//过滤器
@"D:\test",//目录
true);//递归删除你写的没问题,只是函数没写返回值类型。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.IO;
using System.Windows.Forms;namespace DelFile
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
} }}
上面是winform
---------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace DelFile
{
public class DelFile
{ }
}
这里是我创建的一个类。--------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;namespace DelFile
{ static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
这是系统自动自动生成的。。