从File.Copy中排除系统硬链接
问题描述:
所以我的问题是我想导出我的用户帐户。 但C:\%user%\AppData\Local\
里面有System Hardlinks
例如:Application Data
,我显然没有权利使用它们。从File.Copy中排除系统硬链接
有没有办法从复制过程中排除那些System Hardlinks
?
答
所以我固定的问题与Exception handling
,做这个way
:
FileInfo[] sourceFiles = null;
try {
sourceFiles = new DirectoryInfo(sourcePath).GetFiles();
} catch (Exception ex) {
WriteLog(LogPath, ex + "");
return;
}
因为我对于exception handling
有点新了,在这个问题的头几个小时我无法解决这个问题。
答
我不知道你的意思是用硬链接是什么,但是这可能会帮助您
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
}
}