C#编写代码,实现功能:删除D盘的所有文件(包括子文件夹),跳过被其它进程占用的文件

代码尽量简短一点,最好有注释... 代码尽量简短一点,最好有注释 展开
 我来答
尚仙2121
推荐于2016-07-01 · TA获得超过143个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:195万
展开全部

给你一段删除文件及文件夹的代码参考,没有判断是否占用,你可以再加判断:

path 参数为传入的绝对路径:

public static void DeleteFile(string path)
        {
            DirectoryInfo dir=new DirectoryInfo(path);
            FileInfo[] fil = dir.GetFiles();//如果是文件
            foreach (FileInfo fi in fil) //则循环所有文件,删除
            {
                try { fi.Delete();}
                catcch(Exception e) { throw new Exception(e.message); }//删不掉则抛出异常
            }
            DirectoryInfo[] dii = dir.GetDirectories();
            foreach (DirectoryInfo d in dii) //如果是文件夹,则递归遍历
            {
                FileInfo[] fd=d.GetFiles();//获取子文件夹下的文件
                if ( fd.lenth==0) //如果文件夹为空
                {
                   d.Delete();
                }
                else //如果不为空,则递归子文件夹
                {
                getPath(d.FullName);
                }      
            }
        }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式