无法删除文件;名称太长

无法删除文件;名称太长

这个问题已经有人提出过了,但是不幸的是没有任何建议奏效。

情况如下——文件已从 Google Drive 同步到我电脑上的 /users 文件夹中的本地文件夹。它是一个 PDF 文件(看起来像是从某处保存的收据)。名称超过 255 个字符,这让 Windows 无法使用。

该文件无法执行的操作

  • 打开
  • 复制
  • 改名
  • 移动
  • 粘贴
  • 显示属性

实际上,除了同样的错误之外,我还没有得到提供任何响应的文件。

尝试的解决方案:

  • dir /x--没有列出短名称,它只是重复常规名称。
  • 使用 FileBoss、Explorer++、7zip
  • rmdir /S /Q <dir>因为它在我的用户文件夹中所以实际上不起作用......

如果有人有想法愿意尝试,我会愿意接受。

编辑——在这种情况下,文件名本身大于 255 个字符。更改其嵌套的目录不会影响问题,因为文件路径没有问题。(这个问题本身就排除了许多其他解决方案)。

答案1

我会启动Linux 实时光盘,安装您的 Windows 驱动器并使用 Linux/Unix 将其删除。

我认为您需要的主要命令是:

mount -t ntfs-3g /dev/sdX# /mnt
cd /mnt/Users/You
rm -f further/loc/away.filename

(注意:您可能需要运行fdisk -l来定位您的 Windows 分区)

这应该能让你达到目的。我也曾经这样做过。

答案2

在 Windows 上,只需使用7z文件管理器或任何其他使用 Unicode 版本 API 进行文件处理的资源管理器(类)应用程序。重复项更多信息:

1)问题的技术背景:MAX_PATH 限制(另请参阅 (4))。

2) 如何在程序员层面上克服这个限制。

3) 如何在用户层面克服这个限制。

请注意,(3) 只是一种解决方法。它绝不适合编程。最糟糕的是,微软的人混合使用 API,这可能会导致完全兼容 UNC 路径的应用程序回到 260-MaxPath-StoneAge,因为只需调用一次不兼容的 API(参见 (2))。探索者其他产品(包括 cmd 和 powershell)可能永远无法解决这个问题,因为他们的历史(消除限制的链接下的投票要么被忽略,要么被拒绝)。

根据使用情况和版本,限制似乎有所不同。Windows 8 Explorer 似乎能够处理大约 4 倍长的路径(4)而从 Windows 7 开始,允许移动到回收站的最长文件路径从 259 减少到 215(5)。为什么从头开始使用 Windows NT 的程序员没有实现动态分配仍然是个谜。本文介绍了一种使用非 Unicode API 来应对当今情况的方法这里复制)。

与 SO 网络中的编程和 UNC 路径相关的其他主题:

6Java中的UNC路径及其在JVM层面的实现。

7&8网络中的 UNC 路径。

我遇到过这种限制确实很烦人的情况:

  • 组织源代码层次结构:node.js - 节点

  • 备份深层嵌套文件夹结构中的文件

  • 文档命名约定(例如,具有长描述的论文 - 摘要、作者、标题、DOI - 作为其名称,以便快速搜索和查找)

  • 在 Linux(没有此限制)和 Windows 之间共享文件

答案3

您可能想尝试获取该文件的所有权,看看是否可以删除它。您可以通过右键单击该文件来执行此操作:属性 -> 安全 -> 高级 -> 所有者 -> 编辑,然后将所有者更改为您的用户名(或管理员组)。

如需了解更多信息,请查看出去。

答案4

如果该文件源自 Google Drive,为什么不使用 Google Drive 的其中一个界面(网络、Android 等)将其删除,或者在那里重命名?

相关内容