我的文件为c:\ sai \ chn_20151019_5932.txt。这里5932是分钟和秒格式。 59分钟32秒当我们在同一天再次运行包时,文件夹中的现有文件应该被删除,但由于秒我无法删除该文件。 我需要这样的C#代码。
steing filename: @"c:\sai\chn_20151019_5932.txt";
if(filename.exists(@"c:\sai\chn_20151019" + "*")
{
delete.file(filename);
}
答案 0 :(得分:1)
试试这个:
var dir = new DirectoryInfo(@"c:\sai\");
foreach (var file in dir.EnumerateFiles("chn_20151019*.txt")) {
file.Delete();
}
修改强>
DirectoryInfo di = new DirectoryInfo(@"c:\sai\");
FileInfo[] files = di.GetFiles("chn_20151019*.txt")
.Where(p => p.Extension == ".txt").ToArray();
foreach (FileInfo file in files)
try
{
File.Delete(file.FullName);
}
catch { }
答案 1 :(得分:0)
您可以使用EnumerateFiles
来查找指定目录中的模式文件。然后只使用File.Delete
Directory.EnumerateFiles("c:\\sai","chn_20151019*",SearchOption.TopDirectoryOnly)
.ToList()
.ForEach(x=>File.Delete(x));
答案 2 :(得分:0)
如果您使用的是.NET或更高版本 -
string path = @"c:\sai";
bool exist = Directory.EnumerateFiles(path, "chn_20151019*").Any();
答案 3 :(得分:0)
使用using System.IO;
,然后:
foreach (var f in Directory.GetFiles(@"c:\sai\", "chn_20151019*.txt"))
{
File.Delete(f);
}
如果你喜欢幻想(using System;
):
Array.ForEach(Directory.GetFiles(@"c:\sai\", "chn_20151019*.txt"), File.Delete);