在我的应用程序中,我正在创建用于从硬盘中存档旧内容的文件夹。
创建新文件夹时,我必须将所有NTFS权限(组/用户)从源文件夹复制到新创建的目标文件夹。
这是我到目前为止所写的内容:
FileSecurity fileSecurity =
File.GetAccessControl(filenameSource, AccessControlSections.All);
FileAttributes fileAttributes = File.GetAttributes(filenameSource);
File.SetAccessControl(filenameDest, fileSecurity);
File.SetAttributes(filenameDest, fileAttributes);
这真的是我应该做的还是我错过了一些重要的事情?
答案 0 :(得分:2)
如果这是一个文件夹,那么您可能需要检查Directory.SetAccessControl()
方法。如果要在调用Directory.SetAccessControl()之前阻止文件继承ACL规则,您可能需要调用DirectorySecurity.SetAccessRuleProtection(isProtected/*true*/,preserveInheritance /*false*/)
;
答案 1 :(得分:0)
为什么不创建Process
并调用XCOPY命令?它可以复制权限。