我正在使用Python 2.7为Windows 32开发文件粉碎机。所需特征之一是能够粉碎所有回收站内容物。
对于其他文件,在回收站之外,我们实现了一个“shred”函数,它用垃圾覆盖文件内容,并删除文件。
但是,为了在回收站内容上使用此“shred”功能,我们考虑使用this library。使用这个库,我们可以首先取消删除该项目(恢复它),然后将其粉碎。但是,这种方法不合适,因为:
可能会混淆将粉碎回收站内容的用户,因为他可能会在切碎时看到再次出现在文件系统中的回收内容。
当取消删除功能正在运行时,Windows将显示“Resotring”对话框。这是不可取的。
对于如何实施回收站粉碎机有什么建议吗?
答案 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)