删除所有特定模式的文件,而不删除当前使用的文件

本文关键字:删除 文件 模式 | 更新日期: 2023-09-27 18:31:08

如何删除除正在使用的当前文件之外的特定模式的所有文件?我试过这样的:

string temp_file_format = "ScriptLog_" + DateTime.Now.ToString("dd_MM_yyyy_HH") + "*";
System.IO.DirectoryInfo dir = new DirectoryInfo(path);
            System.IO.FileInfo[] files = dir.GetFiles(temp_file_format);
            foreach (FileInfo file in files)
            {
                file.Delete();
            }

假设我有 3 个时间戳为 12:08、12:09 和 12:12 的文件,并且我的应用程序目前使用 12:15 日志文件,那么它应该删除上述 3 个日志。现在它所做的是,它也删除了当前使用的文件。

任何帮助将不胜感激。

删除所有特定模式的文件,而不删除当前使用的文件

var files = dir.GetFiles(temp_file_format).OrderByDescending(f=>f.CreationTime).Skip(1).ToList();
for( int i=0; i< files.Count; i++)
   files[i].Delete();