C#使用安全/权限设置将文件夹复制到另一个目标
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#使用安全/权限设置将文件夹复制到另一个目标,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2113字,纯文字阅读大概需要4分钟。
内容图文
![C#使用安全/权限设置将文件夹复制到另一个目标](/upload/InfoBanner/zyjiaocheng/803/bc3114e250804644aafc67b691e29602.jpg)
我正在创建一个程序,它可以复制文件夹并将其传输到另一个位置,包括属性,权限,安全设置.
到目前为止,我得到了归因,但是我遇到了权限/安全设置问题.这是我的代码:
Directory.CreateDirectory(Destination);
DirectoryInfo DestAttribute = new DirectoryInfo(Destination);
DestAttribute.Attributes = Source.Attributes; // Copies Attributes from Source to Dest
AuthorizationRuleCollection Rule;
DirectorySecurity DestSecurity = Source.GetAccessControl();
Rule = DestSecurity.GetAccessRules(true, true, typeof(NTAccount));
DestSecurity.AddAccessRule(Rule);
DestAttribute.SetAccessControl(DestSecurity);
任何人都有任何建议让这个工作?
谢谢大家的帮助.
解决方法:
这似乎与以下内容重复:
(来自原始问题的代码示例)
FileInfo file1 = new FileInfo(@"c:\test.txt");
FileInfo file2 = new FileInfo(@"c:\test2.txt");
StreamReader sr1 = new StreamReader(file1.Open(FileMode.Open));
StreamWriter sw1 = new StreamWriter(file2.Open(FileMode.Create));
sw1.Write(sr1.ReadToEnd());
sr1.Close();
sw1.Close();
FileSecurity ac1 = file1.GetAccessControl();
ac1.SetAccessRuleProtection(true, true);
file2.SetAccessControl(ac1);
我把以下方法放在一起,它似乎做你想要的…
private static void FolderCopy(String sourceFolder, String destinationFolder)
{
DirectoryInfo sourceDirectory = new DirectoryInfo(sourceFolder);
DirectoryInfo destinationDirectory;
if (!sourceDirectory.Exists)
{
throw new DirectoryNotFoundException("Source folder not found: " + sourceFolder);
}
if (!Directory.Exists(destinationFolder))
{
destinationDirectory = Directory.CreateDirectory(destinationFolder);
}
else
{
destinationDirectory = new DirectoryInfo(destinationFolder);
}
DirectorySecurity security = sourceDirectory.GetAccessControl();
security.SetAccessRuleProtection(true, true);
destinationDirectory.SetAccessControl(security);
var filesToCopy = sourceDirectory.GetFiles();
foreach (FileInfo file in filesToCopy)
{
String path = Path.Combine(destinationFolder, file.Name);
FileSecurity fileSecurity = file.GetAccessControl();
fileSecurity.SetAccessRuleProtection(true, true);
file.CopyTo(path, false);
FileInfo copiedFile = new FileInfo(path);
copiedFile.SetAccessControl(fileSecurity);
}
}
克里斯
内容总结
以上是互联网集市为您收集整理的C#使用安全/权限设置将文件夹复制到另一个目标全部内容,希望文章能够帮你解决C#使用安全/权限设置将文件夹复制到另一个目标所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。