日期:2014-05-18  浏览次数:20652 次

删除回收站下面的所有文件,出现不明白的问题。大牛请来赐教!!
我获取回收站下面的所有文件,但是获取出来的文件有些问题。名称不一样,不明白是为什么。。。
有大牛愿意来解释下吗?
如图一(获取文件显示在控件上面的列表和文件名称):

如图二(为回收站文件本应的名称)


--------------------------------------------
代码如下:
C# code
if (treeView1.Nodes.Count > 0)
                treeView1.Nodes.Clear();
            treeView1.CheckBoxes = true;
            treeView1.Nodes.Add("0", "回收站");

            string MyPath = @"C:\Recycled";
            string[] Dirs = null;
            string[] Files = null;

            Files = Directory.GetFiles(MyPath);
            if (Files != null)
            {
                foreach (string file in Files)
                {
                    string tmp = file.Substring(file.LastIndexOf(@"\") + 1);

                    TreeNode SubNode = new TreeNode(file);
                    treeView1.Nodes[0].Nodes.Add(SubNode);
                }
            }



------解决方案--------------------
回收站下的文件全部被重命名了,如果要看原来的文件名,有点难度,看微软能提供什么样的接口了。
------解决方案--------------------
由于Windows在把文件移至回收站时把文件名给改了,所以还需要找回原来的文件名。原来的文件名可以从RECYCLED目录下的INFO2文件中找。INFO2是一个二进制文件,每一个被删除的文件在INFO2文件中有一段记录(800字节),其中可以找到文件名,其他的信息都不是ASCII字符,我们也不用关心。而且文件名按顺序排列,第一个文件名就是DC1.*文件原来的文件名,后缀名保持不变。如果被删除的是目录,在RECYCLED下就有一个叫DC????的目录,用同样的方法可以找回原来的目录名。