遇到这样一个情况,我希望用程序去自动删除一个文件夹下的所有文件。发现其中有一个文件无法删除,其它的都没有问题,我想这首先可以排除权限的问题。
    然后我怀疑是有一个进程在使用他,因为用管理器杀死进程后,那个不能被删除的文件就被删除了。
    可是我觉得奇怪的是:为什么我在debug的状态下运行到那条删除语句,程序无法删除,用手动删除却可以呢。这又似乎说明了没有进程在使用它。不知大家有没有遇到这样的情况,请教了!

解决方案 »

  1.   

    Directory.Delete(文件夹路路,true);//****true表示删除文件夹下面的所有子文件
      

  2.   

    哦,不好意思,我刚才表述有误,这个文件夹下的一个文件必须保留下来,所以不能用Directory.Delete()。
      

  3.   

    又遇到你了,iyond。我换过了,还是不行。无奈了。
      

  4.   

    //用手动删除却可以呢。这又似乎说明了没有进程在使用它。
    不能说明,比如你用程序连接一个Access数据库,此时可以手动删除,但却无法用程序删除
    除非用API函数SHFileoperation
      

  5.   

    我在其它机器上试过了,发现只要是以本地计算机的administrator登陆的就可以完成删除工作,如果是以域里的一个账号(也是adminitrator)登陆就删不了。权限设置都是一样的。就结贴吧,还有更头疼的问题等着我。谢谢各位!
      

  6.   

    那你把文件夹下的文件copy一份到你指定地方
    然后把文件夹删除不就ok