那我能跳过这个回收站吗?
把try catch写在foreach里面

解决方案 »

  1.   

    那我能跳过这个回收站吗?
    把try catch写在foreach里面  foreach (DirectoryInfo d in dinfo)
                //if(File.Open(d.FullName, FileMode.Open).
                {
                    try
                    {
                        File.SetAttributes(d.FullName, FileAttributes.Normal);
                        dataGridView1.Rows.Add(
                            d, File.Open(d.FullName, FileMode.Open).Length
                            );
                    }
                    catch (UnauthorizedAccessException x)
                    {
                        throw;
                    }
                }还是不行啊,跟放在外面一样
      

  2.   

    可以判断文件类型的:
    FileInfo f = new FileInfo(d.FulName);
    if(f.Attributes!=FileAttributes.ReadOnly)
    {}
    或者
    string[] fileArray = f_fa.ToString().Split(',');
    if(!fileArray.Contains("ReadOnly"))
    {} //因为,可能同时拥有多个属性