当前位置:编程学习 > C#/ASP.NET >>

visual c# 删除文件夹时的权限问题

xp系统,系统盘下有个文件夹 C:\test\ff ,右击文件夹查看她的安全属性,里面只有一个用户组Everyone,拥有"完全控制权限"。

1. 我手动删除这个文件夹,可以删除;
2. 我写程序删除这个文件夹,提示"访问被拒绝".

我在代码里已经给这个文件夹 把我当前用户的FullConcole权限添加上了,还是不行,怎么解决?
--------------------编程问答-------------------- 文件夹不为空。
在Windows中可以递归删除里面的文件再删除文件夹。
如果你用Directory.Delete删除就不允许删除了。 --------------------编程问答-------------------- 另外属性中是不是设置的只读属性。 --------------------编程问答--------------------
 Directory.Delete(@"C:\test\ff", true);
--------------------编程问答-------------------- 文件夹是空的 --------------------编程问答-------------------- 我代码里去掉了这个文件夹的只读属性 --------------------编程问答-------------------- 拒绝访问,我已经说过了,你整点实际的吧 --------------------编程问答--------------------
引用 6 楼 wangbaomi 的回复:
拒绝访问,我已经说过了,你整点实际的吧


那就是你人品问题了。 --------------------编程问答-------------------- 楼主没有贴代码,我只能理解是你搞错目录了。 --------------------编程问答-------------------- 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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,