【问题标题】:Exclude System Hardlinks from File.Copy从 File.Copy 中排除系统硬链接
【发布时间】:2017-08-04 13:04:36
【问题描述】:

所以我的问题是我想导出我的用户帐户。 但是在C:\%user%\AppData\Local\ 里面是System Hardlinks 例如:Application Data 我显然没有权利使用它们。

有没有办法从复制过程中排除那些System Hardlinks

【问题讨论】:

    标签: c# user-profile file-copying hardlink


    【解决方案1】:

    我不确定硬链接是什么意思,但这可能会对你有所帮助

    foreach (var dir in new DirectoryInfo(@"c:\users\xxxxxx\AppData\Local").GetDirectories())
    {
        if (dir.Attributes.HasFlag(FileAttributes.ReparsePoint))
        {
            Console.WriteLine(dir.Name + " is symbolic, skip it");
        }
        else
        {
            //do your copy here
        }
    }
    

    【讨论】:

      【解决方案2】:

      所以我用Exception handling 解决了这个问题,这样做way

      FileInfo[] sourceFiles = null;
      
                  try {
      
                      sourceFiles = new DirectoryInfo(sourcePath).GetFiles();
                  } catch (Exception ex) {
      
                      WriteLog(LogPath, ex + "");                                 
                      return;
                  }
      

      由于我对exception handling 有点陌生,所以在最初的几个小时内我无法解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-11-29
        • 1970-01-01
        • 2011-05-09
        • 2015-09-25
        • 2011-10-26
        • 1970-01-01
        • 2013-08-02
        相关资源
        最近更新 更多