如何获取在当前系统中以“所有人”权限创建的文件夹的名称和位置
问问题
53 次
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 回答