我有一个强制删除文件的函数,但是却碰到了奇怪的问题:我把一个文件夹下的所有文件强制删除以后,明明这个文件夹下已经没有文件了,但是删除这个文件夹的时候却报错,具体错误忘记了,类似余该文件夹正在使用,不能被删除,手动删除也不行,一定要重新启动机器,才能把文件夹删除。所以我想求一个强制删除文件夹的函数。哪位兄弟有,就献出来吧,我一定给分的。最多只能给100分,分不够,还可以再加,只要能解决问题。

解决方案 »

  1.   

    文件夹内的文件有被使用.虽然你删除了,但仍被注册.即使文件夹内的文件没有被使用,但使用过,由于某些原因,如windows内存管理问题,导致程序使用的内存地址仍然登记,所以该文件夹不能被删除.至于强行吗,看看有没有人做过了.
    Up
      

  2.   

    On Error Resume Next
    :)
      

  3.   

    你把explorer外壳进程kill掉之后如何呢,呵呵
      

  4.   

    删文件夹只要RMDIR。事先把要删的文件夹属性都去掉就可以了。里面的东西可以用FINDFIRST枚举,去属性,然后文件夹就RMDIR,其余的KILL *.* 。
      

  5.   

    Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
    这个API是用来删除文件的,我没用过
      

  6.   

    DeleteFile 方法可以用的啊,如果这个文件没有被别的进程调用,
    这个方法应该没有问题的.
      

  7.   

    把FSO弄进来。
    那东西删文件和文件夹巨强,一点提示也没有。吓的我直瞪眼呀,要是谁给我来个递归+枚举……
      

  8.   

    文件夹被打开,或者是文件夹里面有文件被打开(以读写方式或者是独占方式打开),都不能删除这个文件夹,举个例子,你打开个word文件,再去删除这个文件,windows系统会提示,"文件正在被另一个人或者程序使用,不能被删除".
    可以安装一个叫做"wholockme"的程序,检测 是哪个程序调用了这个文件,然后结束这个程序,就可以正常删除了.http://www.pconline.com.cn/pcedu/teach/ex/sys/0405/384847.html
    解决文件不能删除的问题
      

  9.   

    该文见夹肯定没有文件。我在程序里把该文件夹下的文件现用kill语句删除,然后再删除文件夹,就是删除不了。
      

  10.   

    问题好像找到了,我查看了一下进程,里面有很多rundll32.exe,我把这些rundll32.exe都停止就可以删除文件夹了,不过还是不明白,这跟rundll32.exe有什么关系,我找了一下资料,rundll32.exe是调用动态连接库的,为什么不让我删除文件?
      

  11.   

    个人认为,楼上的问题一楼已经回答过了:
    文件夹内的文件有被使用.虽然你删除了,但仍被注册.即使文件夹内的文件没有被使用,但使用过,由于某些原因,如windows内存管理问题,导致程序使用的内存地址仍然登记,所以该文件夹不能被删除.至于强行吗,看看有没有人做过了.