在C#中,给文件夹设置权限通常涉及到System.Security.AccessControl和System.IO命名空间。以下是一个简单的示例,演示如何为一个文件夹(及其子文件夹和文件)设置写权限:
using System;
using System.IO;
using System.Security.AccessControl;
public class FolderPermissionSetter
{
public static void SetFolderWritePermission(string folderPath, bool allow)
{
try
{
// 获取文件夹信息
DirectoryInfo dInfo = new DirectoryInfo(folderPath);
// 获取访问控制列表(ACL)条目
DirectorySecurity dSecurity = dInfo.GetAccessControl();
if (allow)
{
// 添加允许写权限的规则,针对所有用户
FileSystemAccessRule fsAccessRule = new FileSystemAccessRule(\”Users\”, FileSystemRights.Write, AccessControlType.Allow);
// 修改ACL
dSecurity.AddAccessRule(fsAccessRule);
}
else
{
// 添加拒绝写权限的规则,针对所有用户
FileSystemAccessRule fsAccessRule = new FileSystemAccessRule(\”Users\”, FileSystemRights.Write, AccessControlType.Deny);
// 修改ACL
dSecurity.AddAccessRule(fsAccessRule);
}
// 设置新的访问控制列表
dInfo.SetAccessControl(dSecurity);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
// 使用示例
class Program
{
static void Main()
{
string folderPath = @\”C:\\YourFolder\”; // 替换为你的文件夹路径
FolderPermissionSetter.SetFolderWritePermission(folderPath, true); // 设置写权限
// FolderPermissionSetter.SetFolderWritePermission(folderPath, false); // 撤销写权限
}
}
