0
所以,基本上我有一个问题,这些文件被从几层上移到文件夹中,并且由于某些原因,子项的权限未被继承。从我可以告诉这是windows的预期功能,但我需要它的工作不同,所以我决定这样做:将父文件夹权限复制到子文件
foreach (string directory in System.IO.Directory.GetDirectories(@"path", "*", SearchOption.TopDirectoryOnly))
{
foreach (string file in System.IO.Directory.GetFiles(directory, "*", SearchOption.TopDirectoryOnly))
{
DirectorySecurity DS = System.IO.Directory.GetAccessControl(directory);
FileSecurity FS = new FileSecurity();
System.IO.FileInfo FI = new FileInfo(file);
foreach (FileSystemAccessRule rule in DS.GetAccessRules(true, true, typeof(NTAccount)))
{
FS.AddAccessRule(rule);
}
FI.SetAccessControl(FS);
}
}
然而,这是产生错误而做“fs.addaccessrule”说:
system.argumentexception no flags can be set
我不知道我应该如何将权限从父文件夹移动到子文件。