【发布时间】:2017-08-04 13:04:36
【问题描述】:
所以我的问题是我想导出我的用户帐户。
但是在C:\%user%\AppData\Local\ 里面是System Hardlinks 例如:Application Data 我显然没有权利使用它们。
有没有办法从复制过程中排除那些System Hardlinks?
【问题讨论】:
标签: c# user-profile file-copying hardlink
所以我的问题是我想导出我的用户帐户。
但是在C:\%user%\AppData\Local\ 里面是System Hardlinks 例如:Application Data 我显然没有权利使用它们。
有没有办法从复制过程中排除那些System Hardlinks?
【问题讨论】:
标签: c# user-profile file-copying hardlink
我不确定硬链接是什么意思,但这可能会对你有所帮助
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
}
}
【讨论】:
所以我用Exception handling 解决了这个问题,这样做way:
FileInfo[] sourceFiles = null;
try {
sourceFiles = new DirectoryInfo(sourcePath).GetFiles();
} catch (Exception ex) {
WriteLog(LogPath, ex + "");
return;
}
由于我对exception handling 有点陌生,所以在最初的几个小时内我无法解决这个问题。
【讨论】: