我正在构建一个清除工具,它列出并销毁(使用杀戮)用户PC上特定位置的任何文件。除回收站(C:\$Recycle.Bin)外,我的工具在所有位置都工作得很好。
我得到了以下错误:
运行时错误“75”:路径/文件访问错误
如何避免此错误删除/删除回收站中的文件?我不想把所有的回收站都空了。我要删除选定的文件。
发布于 2020-01-13 09:38:46
您首先需要访问真正的回收站文件夹。这是一个系统文件夹,可以通过NameSpace
-method of Shell.Application
-Object访问。您需要向此方法传递一个数字(我找到了一个列表这里),对于回收站,它是&HA&
(称为BitBucket)
当您拥有该文件夹时,您可以遍历其中的项目,只需注意,它可能包含文件和文件夹,您必须加以区分。可以使用FileSystemObject
删除所需的文件/文件夹。
Sub RemoveFromRecyleBin()
Const BITBUCKET = &HA&
Dim sh As Object, folder as Object, fso As Object
Set sh = CreateObject("Shell.Application")
Set folder = sh.Namespace(BITBUCKET)
Set fso = CreateObject("Scripting.FileSystemObject")
Dim item As Object
For Each item In folder.Items
Debug.Print item.Type, item.Name, item.Path
If InStr(item.Name, "Junk") Then ' Replace by your own logic
If item.IsFolder Then
fso.DeleteFolder item.Path
Else
fso.DeleteFile item.Path
End If
End If
Next
End Sub
https://stackoverflow.com/questions/59712525
复制相似问题