Shred Recycle Bin - Python

时间:2013-02-21 11:05:22

标签: python windows recycle-bin shred

我正在使用Python 2.7为Windows 32开发文件粉碎机。所需特征之一是能够粉碎所有回收站内容物。

对于其他文件,在回收站之外,我们实现了一个“shred”函数,它用垃圾覆盖文件内容,并删除文件。

但是,为了在回收站内容上使用此“shred”功能,我们考虑使用this library。使用这个库,我们可以首先取消删除该项目(恢复它),然后将其粉碎。但是,这种方法不合适,因为:

  1. 可能会混淆将粉碎回收站内容的用户,因为他可能会在切碎时看到再次出现在文件系统中的回收内容。

  2. 当取消删除功能正在运行时,Windows将显示“Resotring”对话框。这是不可取的。

  3. 对于如何实施回收站粉碎机有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Pywin32中的shell模块获取真实路径:

from win32com.shell import shell, shellcon
idl = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_BITBUCKET)
d = shell.SHGetDesktopFolder()
sf = d.BindToObject(idl, None, shell.IID_IShellFolder)

for i in sf:
    print sf.GetDisplayNameOf(i, shellcon.SHGDN_NORMAL)
    print sf.GetDisplayNameOf(i, shellcon.SHGDN_FORPARSING)