首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 求一删除文件夹以及文件夹下目录的代码,在线等啊 ,马上就结贴给分 [已结贴,结贴人:bobui]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-15 11:16:59 楼主
    我时这么写的,很一点问题,不想修改了,向大家要把。
    private void GetFolderInfo(string path)
            {
                string[] FileInfoPath;
                int i=0;
                if (Directory.Exists(path)) //判断文件夹是否存在
                {
                    if (Directory.GetFileSystemEntries(path).Length == 0) //判断是否有子文件夹
                    //类里面添加Response.Write方法
                    //HttpContext.Current.Response.Write("Folder " + path + " is empty");
                    {
                        Directory.Delete(path);
                    }
                    else
                    {
                        string[] subdirectoryEntries = Directory.GetDirectories(path);
                        foreach (string subdirectory in subdirectoryEntries) //遍历文家夹
                        {
                            string[] fileNames = Directory.GetFiles(subdirectory); //获取该文家夹下得所有文件
                            foreach (string file in fileNames) //遍历文件
                            {
                                File.Delete(path + file);
                            }
                            FileInfoPath[i] = subdirectory.ToString();
                            i++;
                            GetFolderInfo(subdirectory);
                        }
                    }
                }
                for (int j = i; j >-1; j--)
                {
                    Directory.Delete(FileInfoPath[j]);
                }
    }
    请大家帮我修改或者送一段代码给我
    30  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-15 11:38:411楼 得分:10
    C# code
    using System; using System.IO; using System.Collections.Generic; using System.Text; namespace modifyFileAttrib { class Program { static void Main(string[] args) { string [] drives = Environment.GetCommandLineArgs(); //从终端获得用户输入的参数 string str = ""; for (int i = 1; i < drives.Length; i++) // 程序名是第一个参数,所以i从1开始,而不是从0开始 { str = drives[i]; SetAllDirNormal(str); // 对用户输入的每个参数,调用SetAllDirNormal函数 } Console.WriteLine("Has Done."); return; } // 设置指定分区/文件夹中的所有隐藏文件夹属性为Normal static void SetAllDirNormal(string drive) { DirectoryInfo dir = new DirectoryInfo(drive); // 得到磁盘(drive)内的所有文件夹 DirectoryInfo[] dirList = dir.GetDirectories(); // 获得dir文件夹下的所有子文件夹 foreach (DirectoryInfo d in dirList) { FileInfo dirInfo = new FileInfo(d.FullName); // 为下面设置文件夹熟悉做准备 SetDirNormal(dirInfo); // 设置文件夹属性 SetAllDirNormal(d.FullName); // 递归调用 //Console.WriteLine("{0}", d.FullName); } } // 若文件夹的属性为Hidden,则设置为Normal static void SetDirNormal(FileInfo info) { if ((info.Attributes & FileAttributes.Hidden) != 0) { info.Attributes = FileAttributes.Normal; } } } }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-15 11:48:032楼 得分:10
    楼上的行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-15 11:48:073楼 得分:0
    谢谢,我去试试
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-15 12:05:454楼 得分:10
    恩,学习先
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-15 12:40:155楼 得分:0
    二楼的朋友,他的输入参数是一个数组
    我只能提供一个最上的父节点的地址?
    我应该怎么样操作?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-15 13:29:316楼 得分:0
    搞定了
    谢谢大家
    把代码贴出来给大家参考吧
    private void GetFolderInfo(string path)
            {
                if (Directory.Exists(path)) //判断文件夹是否存在
                {
                    if (Directory.GetFileSystemEntries(path).Length == 0) //判断是否有子文件夹
                    //类里面添加Response.Write方法
                    //HttpContext.Current.Response.Write("Folder " + path + " is empty");
                    {
                        Directory.Delete(path);
                    }
                    else
                    {
                            string[] fileNames0 = Directory.GetFiles(path); //获取该文家夹下得所有文件
                            foreach (string file in fileNames0) //遍历文件
                            {
                                File.Delete(file);
                            }
                        string[] subdirectoryEntries = Directory.GetDirectories(path);
                        foreach (string subdirectory in subdirectoryEntries) //遍历文家夹
                        {
                            string[] fileNames = Directory.GetFiles(subdirectory); //获取该文家夹下得所有文件
                            foreach (string file in fileNames) //遍历文件
                            {
                                File.Delete(file);
                            }
                            GetFolderInfo(subdirectory);
                        }
                        Directory.Delete(path);
                    }
                }
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved