C# :winfrom 给文件夹写入权限代码
在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); // 撤销写权限
}
}
本站大部分文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了您的权益请来信告知我们删除。邮箱:1451803763@qq.com