2017-08-04 6 views
1

Donc, mon problème est que je veux exporter mon compte d'utilisateur. Mais à l'intérieur C:\%user%\AppData\Local\ sont System Hardlinks par exemple: Application Data dont je n'ai évidemment pas le droit de les utiliser.Exclure les liens physiques du système de File.Copy

Existe-t-il un moyen d'exclure les System Hardlinks du processus de copie?

Répondre

0

Je résolu le problème avec Exception handling, ce faisant way:

FileInfo[] sourceFiles = null; 

      try { 

       sourceFiles = new DirectoryInfo(sourcePath).GetFiles(); 
      } catch (Exception ex) { 

       WriteLog(LogPath, ex + "");         
       return; 
      } 

Depuis que je Je suis un peu nouveau à exception handling, je ne pouvais pas le résoudre pendant les premières heures sur ce problème.

0

Je ne suis pas sûr de ce que vous voulez dire avec des liens durs, mais cela pourrait vous aider à

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 
    } 
}