我正在使用Python 2.7为windows 32开发一个文件切碎器。所需的功能之一是能够切碎所有回收站的内容物。
至于其他文件,在回收站之外,我们实现了一个"切碎"功能,用垃圾覆盖文件内容,并删除文件。
但是,为了对回收站内容使用"切碎"功能,我们考虑使用此库。使用这个库,我们可以先取消删除项目(恢复它),然后将其切碎。但是,这种方法不适合,因为:
-
这可能会让将切碎回收站内容的用户感到困惑,因为他可能会在切碎时看到回收内容再次出现在文件系统中。
-
当取消删除功能正在运行时,Windows将显示"重新字符串"对话框。这是不可取的。
关于如何使用回收站碎纸机,有什么建议吗?
您可以使用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)