OSDN Git Service

SVNから移行した
[completeeraser/CompleteEraser.git] / CompleteEraser / RecyleBinCollection.cs
1 using System;\r
2 using System.IO;\r
3 using System.Collections.Generic;\r
4 \r
5 namespace CompleteEraser\r
6 {\r
7     class RecyleBinCollection : IEnumerable<string>\r
8     {\r
9         public IEnumerator<string> GetEnumerator()\r
10         {\r
11             string[] rootDirectory = new string[] {\r
12                                             "$RECYCLE.BIN",\r
13                                             "RECYCLER"\r
14                                     };\r
15             string userSid = System.Security.Principal.WindowsIdentity.GetCurrent().\r
16                 User.ToString();\r
17 \r
18             List<string> result = new List<string>();\r
19 \r
20             foreach (DriveInfo drive in DriveInfo.GetDrives())\r
21             {\r
22                 foreach (string rootDir in rootDirectory)\r
23                 {\r
24                     string dir = Path.Combine(Path.Combine(drive.Name, rootDir), userSid);\r
25                     if (Directory.Exists(dir) == false)\r
26                         continue;\r
27 \r
28                     foreach (string file in Directory.GetFiles(dir, "*.*",SearchOption.AllDirectories))\r
29                     {\r
30                         if (file.IndexOf("desktop.ini") == -1)\r
31                             yield return file;\r
32                     }\r
33                     foreach (string file in Directory.GetDirectories(dir,"*.*"))\r
34                     {\r
35                         yield return file;\r
36                     }\r
37                 }\r
38             }\r
39         }\r
40 \r
41         System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()\r
42         {\r
43             throw new NotImplementedException();\r
44         }\r
45     }\r
46 }\r