2013-02-21 32 views
0

我正在开发使用Python 2.7的Windows 32文件粉碎机。其中一个需要的功能是能够粉碎所有回收站内容。粉碎回收站 - Python

至于其他的文件,回收站外,我们实施了“分解”功能,这与垃圾覆盖文件内容,并删除该文件。

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

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

  2. Windows会显示“Resotring”对话框中,恢复删除的功能运行时。这是不可取的。

有没有关于如何实施回收站碎纸机的任何意见?

+0

你总是可以只切丝用户的隐藏的RECYCLER目录的一切。 Windows将重新生成索引。 – nneonneo 2013-02-21 11:51:18

+0

我在XP上找到了“Recycler”direcotry。 Vista和Windows 7中是否存在“Recycler”目录? – 2013-02-21 11:57:59

回答

1

可以使用外壳模块从Pywin32得到真实路径:

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)