2013-02-21 74 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)