如何禁止删除文件夹里面的字文件?用C#代码写出来
时间: 2025-01-04 07:39:59 浏览: 9
在C#中,你可以通过在删除操作前检查文件是否已被其他进程锁定或者是否有只读属性来防止直接删除文件。但是请注意,这并不能完全阻止删除,因为其他用户或者进程可能有权限绕过这些限制。以下是使用`DirectoryInfo`类的一个示例,尝试删除前检查文件是否只读:
```csharp
using System.IO;
// 假设folderPath是要检查的文件夹路径
string folderPath = @"D:\MyFolder";
try
{
DirectoryInfo dirInfo = new DirectoryInfo(folderPath);
// 遍历文件夹中的每个文件
foreach (FileInfo fileInfo in dirInfo.GetFiles())
{
if (!fileInfo.IsReadOnly)
{
Console.WriteLine($"试图删除只读文件 {fileInfo.FullName},取消删除操作");
continue; // 跳过删除操作
}
// 如果文件不是只读,可以继续删除
fileInfo.Delete();
}
}
catch (UnauthorizedAccessException e)
{
Console.WriteLine($"由于访问权限问题无法删除: {e.Message}");
}
catch (IOException e)
{
Console.WriteLine($"IO错误: {e.Message}");
}
```
阅读全文