Option ExplicitPrivate Sub Command1_Click() Dim f As New Scripting.FileSystemObject f.DeleteFile "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*.*", True End Sub
哥们 不好使呀 Temporary Internet Files下面还有一个文件夹,必须把它的也删除 才是彻底的清除ie垃圾
Option Explicit Private Const FO_MOVE = &H1 Private Const FO_COPY = &H2 Private Const FO_DELETE = &H3 Private Const FO_RENAME = &H4 Private Const FOF_NOCONFIRMATION = &H10 Private Const FOF_SILENT = &H4 Private Const FOF_NOERRORUI = &H400 Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long Private Type SHFILEOPSTRUCT hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As String ' only used if FOF_SIMPLEPROGRESS End Type
Public Function KillPath(ByVal sPath As String) As Boolean On Error Resume Next Dim udtPath As SHFILEOPSTRUCT udtPath.hwnd = 0 udtPath.wFunc = FO_DELETE udtPath.pFrom = sPath udtPath.pTo = "" udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUI KillPath = Not CBool(SHFileOperation(udtPath)) End FunctionPrivate Sub Command1_Click() KillPath "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*.*" End Sub
我又要来了——FSO最简单Dim FSO As New FileSystemObject FSO.DeleteFolder "文件夹", True
to pigpag(噼里啪啦) : 你试试,Internet文件夹可是不让这么删的,Windows资源管理器都做不到。 而楼主是要连其子目录一起删。 没看我一开始告诉他的方法就是用FSO吗,可达不到他的目的。 :)
Deletes a specified folder and its contents.object.DeleteFolder ( folderspec[, force] ); Arguments object Required. Always the name of a FileSystemObject. folderspec Required. The name of the folder to delete. The folderspec can contain wildcard characters in the last path component. force Optional. Boolean value that is true if folders with the read-only attribute set are to be deleted; false (default) if they are not. 注意:The folderspec can contain wildcard characters in the last path component.这样行否: Dim f As New Scripting.FileSystemObject f.DeleteFile "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*.*", True f.DeleteFolder "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*", True
to pigpag(噼里啪啦): 你的办法我试了,不行。 :( Internet文件夹不是一般的文件夹,是不能删除的,你用资源管理器删一下看看就知道了。 :( 你的办法不能删除子文件夹,难道你试成功了??? 我调API的办法可以删除Internet临时文件夹下的所有子文件夹和所有文件。
FSO和API是等价的,其中有一个index.dat网址索引一直被占用着,所以用FSO API都会出现拒绝的权限问题。只不过培培同志用NOERRORUI屏蔽掉了。培培同志,你再查查看,Temporary internet Files\Content.IE5下面的index.dat删除了没有?其中可是保存大量的浏览过的URL呢!
很感谢大家大力协助 对不起是我没有说清楚 Internet文件夹下的子目录确实不能删除 不必删除子目录 能把Temporary Internet Files和他子目录里的文件都删除就行 把他子目录里的所有文件都删除 子目录也就自动消失 再次感谢大家!
' 我的这段代码就可以.楼主试了吗?Option Explicit Private Const FO_MOVE = &H1 Private Const FO_COPY = &H2 Private Const FO_DELETE = &H3 Private Const FO_RENAME = &H4 Private Const FOF_NOCONFIRMATION = &H10 Private Const FOF_SILENT = &H4 Private Const FOF_NOERRORUI = &H400 Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long Private Type SHFILEOPSTRUCT hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As String ' only used if FOF_SIMPLEPROGRESS End Type
Public Function KillPath(ByVal sPath As String) As Boolean On Error Resume Next Dim udtPath As SHFILEOPSTRUCT udtPath.hwnd = 0 udtPath.wFunc = FO_DELETE udtPath.pFrom = sPath udtPath.pTo = "" udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUI KillPath = Not CBool(SHFileOperation(udtPath)) End FunctionPrivate Sub Command1_Click() KillPath "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*.*" End Sub
我试过了 Temporary Internet Files里的垃圾能删除可是 Content.IE5里的垃圾还是不能删除
Dim f As New Scripting.FileSystemObject
f.DeleteFile "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*.*", True
End Sub
才是彻底的清除ie垃圾
Private Const FO_MOVE = &H1
Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_RENAME = &H4
Private Const FOF_NOCONFIRMATION = &H10
Private Const FOF_SILENT = &H4
Private Const FOF_NOERRORUI = &H400
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String ' only used if FOF_SIMPLEPROGRESS
End Type
Public Function KillPath(ByVal sPath As String) As Boolean
On Error Resume Next
Dim udtPath As SHFILEOPSTRUCT
udtPath.hwnd = 0
udtPath.wFunc = FO_DELETE
udtPath.pFrom = sPath
udtPath.pTo = ""
udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUI
KillPath = Not CBool(SHFileOperation(udtPath))
End FunctionPrivate Sub Command1_Click()
KillPath "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*.*"
End Sub
FSO.DeleteFolder "文件夹", True
你试试,Internet文件夹可是不让这么删的,Windows资源管理器都做不到。
而楼主是要连其子目录一起删。
没看我一开始告诉他的方法就是用FSO吗,可达不到他的目的。 :)
Arguments
object
Required. Always the name of a FileSystemObject.
folderspec
Required. The name of the folder to delete. The folderspec can contain wildcard characters in the last path component.
force
Optional. Boolean value that is true if folders with the read-only attribute set are to be deleted; false (default) if they are not. 注意:The folderspec can contain wildcard characters in the last path component.这样行否:
Dim f As New Scripting.FileSystemObject
f.DeleteFile "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*.*", True
f.DeleteFolder "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*", True
你的办法我试了,不行。 :(
Internet文件夹不是一般的文件夹,是不能删除的,你用资源管理器删一下看看就知道了。 :(
你的办法不能删除子文件夹,难道你试成功了???
我调API的办法可以删除Internet临时文件夹下的所有子文件夹和所有文件。
对不起是我没有说清楚 Internet文件夹下的子目录确实不能删除
不必删除子目录 能把Temporary Internet Files和他子目录里的文件都删除就行
把他子目录里的所有文件都删除 子目录也就自动消失
再次感谢大家!
Private Const FO_MOVE = &H1
Private Const FO_COPY = &H2
Private Const FO_DELETE = &H3
Private Const FO_RENAME = &H4
Private Const FOF_NOCONFIRMATION = &H10
Private Const FOF_SILENT = &H4
Private Const FOF_NOERRORUI = &H400
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Private Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As String ' only used if FOF_SIMPLEPROGRESS
End Type
Public Function KillPath(ByVal sPath As String) As Boolean
On Error Resume Next
Dim udtPath As SHFILEOPSTRUCT
udtPath.hwnd = 0
udtPath.wFunc = FO_DELETE
udtPath.pFrom = sPath
udtPath.pTo = ""
udtPath.fFlags = FOF_NOCONFIRMATION Or FOF_SILENT Or FOF_NOERRORUI
KillPath = Not CBool(SHFileOperation(udtPath))
End FunctionPrivate Sub Command1_Click()
KillPath "C:\Documents and Settings\卢培培\Local Settings\Temporary Internet Files\*.*"
End Sub
我给大家鞠躬了 一鞠躬 再鞠躬 三鞠躬...
只要你在资源管理器中手动能删除的文件我的代码都能删除。FSO也是一样的 :)
删除前,先用ShellWindows强行将所有的IE关掉,这样可以避免文件被占用,无法删除。ME里面index.dat应该不被系统控制,可以删除。
就算是把IE都关了,有些文件还是删不掉,我这里是这样。 :(
既然资源管理器都删不掉楼主又何必强求呢? :)
你删删这个目录试试看,System Volume Information ?!