增加功能如果文件名没有包含数组中的名字,那么删除这个文件
时间: 2024-03-09 11:48:04 浏览: 22
要实现这个功能,需要对上面的代码进行一些修改。以下是修改后的示例代码:
```csharp
using System.IO;
using System.Linq;
public class FileChecker {
string[] filenamesToCheck = new string[] { "filename1", "filename2", "filename3" };
string folderPath = "path/to/folder";
public void CheckFiles() {
var filesInFolder = Directory.GetFiles(folderPath); // 获取文件夹中所有文件的路径
var matchingFiles = filesInFolder.Where(f => filenamesToCheck.Contains(Path.GetFileNameWithoutExtension(f))); // 使用 LINQ 查询获取匹配的文件
foreach (var file in filesInFolder) {
if (!matchingFiles.Contains(file)) {
// 如果文件名没有包含数组中的名字,则删除这个文件
File.Delete(file);
Debug.Log("Deleted file: " + file);
}
}
}
}
```
在这个修改后的代码中,我们首先获取文件夹中所有文件的路径,然后使用 LINQ 查询获取匹配的文件。接着,我们遍历所有文件,对于不在匹配文件列表中的文件,我们使用 `File.Delete()` 方法删除这个文件,并在控制台输出删除的文件路径。注意,我们不需要使用 `Path.GetFileNameWithoutExtension()` 方法来获取文件名,因为 `filesInFolder` 变量中已经包含了完整的文件路径。