源路径太长 - 但从未使用过


4

尝试将备份数据从外部硬盘驱动器复制到桌面时出现以下错误:

源文件名长于文件系统支持的文件名。   尝试移动到路径名称较短的位置,或尝试   在尝试此操作之前将它们重命名为较短的名称。

它真的很烦人,现在我无法做某些事情因为我无法获取这些文件。我喜欢把我的东西组织起来 - 但看起来Windows不能支持长位置 - 这意味着我不能保持有条不紊的东西。但这从来不是一个问题。在我的旧计算机上,我总是来回复制这些备份的文件,只是因为我得到了这台新PC(我认为它好十亿倍)我遇到了这个错误。

并且将文件/文件夹重命名为1个字母,直到我复制它们不是正确的解决方案。我怎样才能解决这个问题?为什么我在具有相同版本的Windows的更高规格的电脑上出现这个问题时我从来没有在我的低版本PC上使用相同版本的Windows时出现此问题?


您的外部驱动器使用什么文件系统?
David Schwartz

“看起来Windows不能支持长位置” - 实际上UNC路径可以是32k字符长,但是由于许多API函数,因此甚至像cmd的部分Windows仅支持MAX_PATH,并且由于MS害怕打破向后兼容性实际上,260个字符仍然是极限。
Karan

@Karan是的。 260个字符......远远不够。我可以轻松地使用这么多:045504052015 .045604052015 ..045704052015 ...等等,是的,如果你想知道,我真的需要这样命名。 :)
NDEIGU

有些公用事业毫无疑问(不要求我提出建议)可以处理UNC路径,但你必须坚持那些痛苦的事情。
Karan

Answers:


5

如果您使用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-应用程序/

如果你不喜欢CMD,一个实用程序来获取太长的文件(假设你备份了它们)...... http://backupchain.com/DeleteLongPath.html


1
谢谢@Allen :) CMD很完美。不需要GUI。
NDEIGU

0

只是想提一下 您不需要更改任何文件夹或文件名 ,就像其他答案所暗示的那样。你可以使用robocopy命令,但我发现更简单(虽然有点慢)的方法是只压缩文件夹,复制zip并解压缩。或者,您可以将重度嵌套的文件夹移动到更高级别的目录,将其复制,然后将其移回到它的嵌套位置。

不知道为什么会这样,但根据 本文 windows具有文件的最大长度 名称 ,但由于某种原因,复制时检查整个文件路径的长度。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.