所有的属性都加上了,不是属性的问题!用API找与属性无关,什么属性的都可以找到!

解决方案 »

  1.   

    楼主你是否要作一个清除IE缓存?
    Temporary Internet Files文件夹下有至少一个系统属性的文件夹Content.IE5,这里面还数个系统属性的文件夹,实际的Temporary Internet Files下的缓存文件都是分布在这些二级子文件内的,你试试把...\Local Settings\Temporary Internet Files改为其中一个子文件夹...\Local Settings\Temporary Internet Files\Content.IE5\1JRJ9DSE,就可以找到其中一部分文件了。但是Temporary Internet Files下系统属性文件夹名的规律和数量我没搞明白。如果能查到它们的名字和数量就可以实现你的目的了。
      

  2.   

    楼上wangxuejun(计算机低手) 
    Content.IE5目录及子目录内的所有文件我已经找到了,问题是
    Temporary Internet Files目录的文件找不到.
    我试过删除Content.IE5目录及子目录内的所有文件,删除后Temporary Internet Files目录的文件看不到了,查看Temporary Internet Files目录属性也只有1M多,好象是没有了,但用WINDOWS的查找还是可以找到一千多个文件,这说明这个目录内的文件并没有自动清除!它仍然占用硬盘空间.
      

  3.   

    Temporary Internet Files下一级子目录的名字与IE版有关,内容可以从注册表的:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Paths
    这一位置取得。现在假设你已通过注册表取出这个一级系统子目录名为Content.IE5,下面代码直接使用之,(窗体上放置一个按钮一个列表框LIST1),以下代码进行二个循环嵌套将找到的文件放入列表框Private Sub Command1_Click()
    Dim totbyte As Currency, p As String, currentpath As String
    Dim sFileName As String, sFileName1 As String
    currentpath = "I:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.IE5\"
    sFileName = Dir(currentpath, 1 + 2 + 4 + 8 + 16 + 32)
    Do While sFileName <> ""
        If sFileName <> "." And sFileName <> ".." And sFileName <> "操作题" Then
            If GetAttr(currentpath & sFileName) = 4 + 16 Then '找到一个系统级二级子目录
                If InStr(p, sFileName & "|") = 0 Then '用|符号来分隔取得的系统级二级子目录名
                    p = p & sFileName & "|"
                    sFileName1 = Dir(currentpath & sFileName & "\", 1 + 2 + 8 + 32)  '只取文件
                    Do While sFileName1 <> ""
                      If sFileName1 <> "." And sFileName1 <> ".." Then
                        List1.AddItem sFileName1
                      End If
                      sFileName1 = Dir
                      If sFileName1 = "" Then Exit Do
                    Loop
                    sFileName = Dir(currentpath, 1 + 2 + 4 + 8 + 16 + 32)
                Else
                    sFileName = Dir
                End If
            Else
              List1.AddItem sFileName
              sFileName = Dir
            End If
        Else
          sFileName = Dir
        End If
    Loop
    End Sub用这个方法我找到了7000多个文件。不过以上方法原理上是否正确我不保证,仅提供一个个人的考虑方法。
    ------------------------------------------------------------
      

  4.   

    wangxuejun(计算机低手)
      你的代码仍然是在找\Content.IE5目录,这个目录有几千个文件很正常!
      Content.IE5的上一级目录Temporary Internet Files内的几千个文件还是没找到.
     
      我在DOS下看Temporary Internet Files这个目录,只有一个Content.IE5目录和一个desktop.ini文件,如果在98系统下的这个目录也是这样,我怀疑在Temporary Internet Files目录下只有Content.IE5目录,根本就没有实际的文件!
      

  5.   

    Temporary Internet Files根目录下基本没有文件,文件都在下面的各个子目录中,你把所有子目录中的文件都删除了(当然有个别正在使用的文件删除不了),这个总文件夹内当然不会找到文件了,这点我确实有点晕。我用的是2000,和XP都是NT核心,应该不会有太大差别,我也试着把Temporary Internet Files目录下全部子目录中可以删除的文件都删除了,最后看Temporary Internet Files的属性只有几M了,在Temporary Internet Files文件夹在击右键选择查找全部文件,也只有非常少的几M了,你是如何查找删除后还存在的?对了,与不同用户登录是否有关系?你删除的是特写用户的缓存内容而查找的是所有用户的?可这好像又不可能,WINDOWS的缓存所有用户都应该是公用这个Temporary Internet Files文件夹的。
      

  6.   

    我的Temporary Internet Files根目录下有一千多个文件,用IE的删除临时文件后,这个目录的文件没有了.但一上网又出来几百个XP的缓存,所有用户并不是公用同一个Temporary Internet Files文件夹
      

  7.   

    是这样呀。我的Temporary Internet Files根目录下有一千多个文件,用IE的删除临时文件后,这个目录的文件没有了.但一上网又出来几百个这你认为不正常吗?这文件夹当然就是IE的缓存文件所在位置呀,文件夹又叫临时文件夹,你打开IE上网就会把文件先下载到这里再显示,这里有几千个文件是完全正常的,要是太多了是要手工从IE工具中或手工进行删除的,它的总体积如果超过20M应该处理一下,对不起你肯定知道我废话了。
      

  8.   

    推荐使用 IrfanView 软件查看该目录下的文件。
      

  9.   

    一个猜测,各位看看有没有道理:Temporary Internet Files文件夹下根本没有实际的文件,我们看到的文件可能只是其几个子文件夹中的文件名的“映射”
      

  10.   

    楼上说的确实是这么回事,所以不能只用...Temporary Internet Files去找,要找到它下面的系统子文件夹,这可以从注册表中取得。