复制 Windows 8 用户目录,如何可靠地处理具有非常长路径(可能是嵌套/链接)的内容?

复制 Windows 8 用户目录,如何可靠地处理具有非常长路径(可能是嵌套/链接)的内容?

我尝试按照说明在 Windows 8 中移动“用户”文件夹这里这里

但是当我尝试在 Windows 安装磁盘修复模式下使用“xcopy”复制文件夹时,复制一些文件后,出现“内存不足”的错误。出现错误的文件如下:C:\Users\Bilal\Application Data\Application Data\Application Data.........Application Data\Application Data.....

目录中的此类目录有什么意义呢?

我也尝试使用 Mini Windows XP 复制它们,但问题仍然存在...还尝试使用 Parted Magic Live CD 复制...但仍然...

那么现在,我该如何移动它们?另一个问题是。使用 Linux 移动此类/系统文件是个好主意吗?它对权限有什么影响吗?

答案1

此问题是由 Windows Vista 及更高版本的向后兼容性引起的。在这些系统中,一些在 Windows XP 中具有“已知”名称的文件夹使用NTFS 目录连接点

这种映射的一个例子是: \Documents and Settings\<username>\Application Data被映射到\Users\<username>\AppData\Roaming

通常这种机制应该是透明的,但不幸的是,您的卷上出现了问题并创建了递归连接。

为了复制数据,您必须使用能够理解 NTFS 目录连接点并可以在复制时跳过它们的程序,其中一个这样的程序是微软 Robocopy

您感兴趣的参数是,/XJ :: eXclude Junction points. (normally included by default).或者/XJD :: eXclude Junction points for Directories.如果您想更细致,并且只跳过目录连接。

回答你的第二个问题,在 Linux 下读取 NTFS 是一项相当安全的操作。另一方面,保留 NTFS ACL 并不是一件容易的事。

答案2

真正起作用的是 xcopy /b 开关。虽然 robocopy /xj 确实排除了连接点,但却给 Metro Apps 带来了问题。

我发现 robocopy /xj = EXCLUDE LINKS 而 xcopy /b = COPY LINK ITSELF 而不是复制目标

现在我不知道是什么导致了 Metro Apps 出现问题、权限问题或完全排除链接。但 xcopy /b /e /k /o /h 是最终的解决方案。:)

相关内容