visual c# 删除文件夹时的权限问题
xp系统,系统盘下有个文件夹 C:\test\ff ,右击文件夹查看她的安全属性,里面只有一个用户组Everyone,拥有"完全控制权限"。1. 我手动删除这个文件夹,可以删除;
2. 我写程序删除这个文件夹,提示"访问被拒绝".
我在代码里已经给这个文件夹 把我当前用户的FullConcole权限添加上了,还是不行,怎么解决?
--------------------编程问答-------------------- 文件夹不为空。
在Windows中可以递归删除里面的文件再删除文件夹。
如果你用Directory.Delete删除就不允许删除了。 --------------------编程问答-------------------- 另外属性中是不是设置的只读属性。 --------------------编程问答--------------------
Directory.Delete(@"C:\test\ff", true);--------------------编程问答-------------------- 文件夹是空的 --------------------编程问答-------------------- 我代码里去掉了这个文件夹的只读属性 --------------------编程问答-------------------- 拒绝访问,我已经说过了,你整点实际的吧 --------------------编程问答--------------------
那就是你人品问题了。 --------------------编程问答-------------------- 楼主没有贴代码,我只能理解是你搞错目录了。 --------------------编程问答-------------------- RPWT? --------------------编程问答-------------------- Directory.Delete 测试木有问题 --------------------编程问答-------------------- 看看你怎么去的只读 --------------------编程问答-------------------- //添加权限
private void SetAttributes(string folder)
{
if (folder == "" || !Directory.Exists(folder))
{
return;
}
DirectoryInfo folderInfo = new DirectoryInfo(folder);
//添加当前用户权限
string curUser = Environment.UserDomainName.ToString() + "\\" + Environment.UserName.ToString();
DirectorySecurity tmpSec = folderInfo.GetAccessControl();
tmpSec.SetAccessRule(new FileSystemAccessRule(curUser, FileSystemRights.Modify, AccessControlType.Allow));
//设置文件权限
FileInfo[] fileInfos = folderInfo.GetFiles();
if (fileInfos != null && fileInfos.Length > 0)
{
foreach (FileInfo fileInfo in fileInfos)
{
FileSecurity tmpFilesec = fileInfo.GetAccessControl();
tmpFilesec.SetAccessRule(new FileSystemAccessRule(curUser, FileSystemRights.Modify, AccessControlType.Allow));
fileInfo.Attributes = FileAttributes.Normal;
}
}
//递归
DirectoryInfo[] folderInfos = folderInfo.GetDirectories();
if (folderInfos != null && folderInfos.Length > 0)
{
foreach (DirectoryInfo childFolderInfo in folderInfos)
{
this.SetAttributes(childFolderInfo.FullName);
}
}
}
然后再 Directory.Delete(folder, true) --------------------编程问答-------------------- 帮你顶下 你程序运行到出错地方 看下文件夹权限是多少 --------------------编程问答-------------------- 如果在这个文件夹里新建一个文件,删除这个文件夹时,里面的文件时可以删除的,但文件夹依然存在,提示"对路径xxx的访问被拒绝"
补充:.NET技术 , C#