0

如何获取在当前系统中以“所有人”权限创建的文件夹的名称和位置

4

1 回答 1

0

您可以使用DirectoryInfo.GetAccessControl来获取

获取一个 DirectorySecurity 对象,该对象封装了当前 DirectoryInfo 对象所描述的目录的访问控制列表 (ACL) 条目。

对于系统中的单个目录。剩下的就是实现对系统中所有目录的迭代并调用它。

例子:

    string[] drives = System.Environment.GetLogicalDrives();
    foreach (string dr in drives)
    {
        System.IO.DriveInfo di = new System.IO.DriveInfo(dr);


        if (!di.IsReady)
        {               
            continue;
        }
        System.IO.DirectoryInfo root = di.RootDirectory;
        var directories = root.GetDirectories("*.*", System.IO.SearchOption.AllDirectories);
        foreach(var dirInfo in directories ) {
            var diAccess = dirInfo.GetAccessControl(..) ;
        }

    }

完整的例子和解释可以找到:How to: Iterate Through a Directory Tree

这只是一个草图,根据您的需要进行更改。

于 2013-04-12T12:36:05.180 回答