我需要使用" .bak"删除文件和" .csv.bak"扩展。我使用.net c#。
我试过这样:
string srcDir = @"D:\Backup";
string[] bakList = Directory.GetFiles(srcDir,".bak");
if (Directory.Exists(srcDir))
{
foreach (string f in bakList)
{
File.Delete(f);
}
}
但是在调试时,bakList数组是空的。
Directory.GetFiles()
未加载数组中的文件名。我无法弄清楚我的编码有什么问题。
答案 0 :(得分:2)
您需要在*
.bak
之前添加GetFiles()
string srcDir = @"D:\Backup";
string[] bakList = Directory.GetFiles(srcDir,"*.bak");
if (Directory.Exists(srcDir))
{
foreach (string f in bakList)
{
File.Delete(f);
}
}
如果您需要搜索这两种类型,可能效果更好
var files = Directory.GetFiles(srcDir, "*.*")
.Where(s => s.EndsWith(".bak"));
答案 1 :(得分:0)
如果您的文件名是
" Data Logger [2] .csv.bak", 转到属性并检查文件类型。它会是这样的
" 1档案(.1)" 。该文件的编号为结尾扩展名。所以我这样用过。
string [] bk = Directory.GetFiles(srcDir," * .bak。 * ");
foreach(字符串f in bk) { File.Delete(F); }
它的工作......