win7系統因爲安裝程序等操做,可能會在系統中留下一些全部權限是SYSTEM角色的目錄,例如個人系統之前在C盤的QQ卸載後的遺留文件(下圖)。安全
System是Windows系統中最高權限角色(組),比Administrator用戶權限高,這樣的目錄沒法手工刪除。網上給的方法是右鍵點擊文件夾-屬性-安全-高級-全部者改成當前用戶,權限標籤頁選中當前用戶(通常就是administrator了)。這時候咱們經常但願勾選下面的2個選項而後點肯定對子文件夾作一樣的修改,但這時候子目錄仍是SYSTEM組權限的,只能一個個手動修改,若是子目錄數量或者層數多的話這將很是麻煩,最好寫程序修改。 相似的中文資料比較少,下面是一些能用的資料連接和個人代碼。程序只是把目錄和裏面的文件的owner從SYSTEM改成當前用戶,而後可右鍵選中一次刪除。spa
看了一些連接,下面的stackoverflow文章的回覆給出的代碼是比較簡單的,感受比搜到的C++代碼明顯簡單:.net
http://stackoverflow.com/questions/5368825/taking-ownership-of-a-file-or-folder,code
可是這個文件用到了一個dll引用,在這裏:http://processprivileges.codeplex.comblog
下面是控制檯程序,對文件夾和子文件夾進行操做用到典型的遞歸處理。.net framework選擇4.0,起初默認的3.0的不支持引用的dll,3.5的沒試,IDE是VS 2012。若是環境不同因爲控制檯程序比較簡單直接用Program.cs修改也不麻煩: 下載連接遞歸