这个问题已经有人提出过了,但是不幸的是没有任何建议奏效。
情况如下——文件已从 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层面的实现。
我遇到过这种限制确实很烦人的情况:
组织源代码层次结构:node.js - 节点
备份深层嵌套文件夹结构中的文件
文档命名约定(例如,具有长描述的论文 - 摘要、作者、标题、DOI - 作为其名称,以便快速搜索和查找)
在 Linux(没有此限制)和 Windows 之间共享文件
答案3
您可能想尝试获取该文件的所有权,看看是否可以删除它。您可以通过右键单击该文件来执行此操作:属性 -> 安全 -> 高级 -> 所有者 -> 编辑,然后将所有者更改为您的用户名(或管理员组)。
如需了解更多信息,请查看这出去。
答案4
如果该文件源自 Google Drive,为什么不使用 Google Drive 的其中一个界面(网络、Android 等)将其删除,或者在那里重命名?