尝试将备份数据从外部硬盘复制到桌面时出现以下错误:
源文件名太长,超出文件系统支持的长度。请尝试移至路径名更短的位置,或尝试将其重命名为更短的名称,然后再尝试此操作。
这真的很烦人,现在我无法做某些事情,因为我无法获取这些文件。我喜欢把我的东西整理得井井有条 - 但 Windows 似乎无法支持长位置 - 这意味着我无法按照自己的意愿整理东西。但这从来不是问题。在我的旧电脑上,我总是来回复制这些备份文件,直到我买了这台新电脑(据说它要好上十亿倍)后,我才遇到这个错误。
在我复制文件/文件夹之前,将它们重命名为 1 个字母并不是正确的解决方案。我该如何解决这个问题?为什么我在装有相同版本 Windows 的高配置电脑上遇到这个问题,而我在装有相同版本 Windows 的低配置电脑上从未遇到过这个问题?
答案1
如果您使用 C:\%HOMEPATH%\Documents 等下的 Windows 用户文件夹或由于任何其他原因,您的嵌套深度可能会比以前更深。
使用较短的名称来扁平化结构确实是你唯一的选择。要清理有问题的目录,请确保将文件安全地存储在新文件夹中,然后清理旧文件夹,如下所示:
使用内置命令 ROBOCOPY。您无需安装任何东西。在另一个驱动器上创建完全为空 (e:) 的坏文件夹 (d:) 的副本。然后使用这些参数运行 robocopy。
robocopy e:\folder d:\folder /Purge /E /S /R:0 /W:0
另外两个应该有帮助的资源:
这个 URL 的名字颇具讽刺意味…… http://vimalsuresh.com/2013/08/08/how-to-fix-file-path-too-long-error-while-copying-deleting-or-opening-files-without-using-third-party-applications/
如果您不喜欢 CMD,可以使用该实用程序来获取过长的文件(假设您已备份它们)... http://backupchain.com/DeleteLongPath.html
答案2
我只是想提一下您不需要更改任何文件夹或文件名称,就像另一个答案所建议的那样。您可以使用 robocopy 命令,但我发现更简单(虽然有点慢)的方法是压缩文件夹,复制 zip 文件,然后解压缩。或者,您可以将嵌套很深的文件夹移动到更高级别的目录,将其复制过来,然后将其移回嵌套位置。
不确定为什么会这样,但根据本文windows 的文件长度有上限姓名,但由于某种原因,在复制时会检查整个文件路径的长度。