启用系统级长路径支持是根本解法,需修改注册表hkey_local_machine\system\currentcontrolset\control\filesystem下longpathsenabled值为1并重启;紧急时可用powershell的-literalpath参数或robocopy绕过限制;批量处理推荐压缩解压重置路径起点。

当你在Windows中复制、删除、重命名或移动文件时反复弹出“文件名过长”“路径太长”“错误0x80010135”等提示,本质是系统对完整路径长度(盘符+各级目录+文件名+终止符)施加了260字符的硬性限制,而你的实际路径已远超此阈值,常规操作被内核直接拦截。
启用系统级长路径支持(根本解法)
这一步解除的是Windows内核层限制,启用后PowerShell、CMD、资源管理器及多数现代应用均可原生处理最长约32767字符的路径,是所有后续操作能生效的前提。
第一步:按 Win + R 输入 regedit → 回车以管理员身份打开注册表编辑器。
第二步:依次展开路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem。
第三步:在右侧空白处右键 → 新建 → DWORD (32位) 值 → 命名为 LongPathsEnabled。
第四步:双击该新建项 → 将“数值数据”改为 1 → 基数保持十进制 → 点击确定。
【关键前提】必须重启电脑,否则新进程(包括资源管理器、PowerShell)无法读取该设置,后续所有操作仍会报错。
绕过限制的即时操作法(无需重启)
适用于急需处理单个文件、无法等待重启,或注册表修改后仍未生效的紧急场景。
方法一:用 PowerShell 强制操作(推荐)
右键开始菜单 → 选择“Windows Terminal(管理员)” → 输入:
Remove-Item -LiteralPath "C:\你的超长完整路径\文件名.txt" -Force
或
Move-Item -LiteralPath "C:\你的超长完整路径\文件夹" -Destination "D:\short\" -Force
注意:引号内路径必须是绝对路径,且不能含通配符;-LiteralPath 是绕过字符串解析的关键参数,缺它必失败。
方法二:用 robocopy 搬移改名
以管理员身份运行终端 → 执行:
robocopy "C:\超长源路径" "D:\temp_move" /E /MOVE /R:0 /W:0
执行完后进入 D:\temp_move → 正常重命名 → 再用相同命令移回原位置。robocopy 不依赖 MAX_PATH,即使未启用长路径也有效。
压缩解压重置路径起点(零风险批量法)
当你面对一批嵌套极深的文件夹(如 node_modules 或 CI 构建产物),且不想动注册表或敲命令时,这是最稳妥的批量破限方式。
选中目标父文件夹 → 右键 → “发送到” → “压缩(zipped)文件夹”。
将生成的 ZIP 文件拖到短路径位置(如 D:\temp.zip)→ 右键 → “全部提取到…” → 指定一个简短目标路径(如 D:\unzipped)→ 点击“提取”。
解压后的新路径从 D:\unzipped 开始计算,原始深层结构被重置,总长度立即回落至安全范围。
这一步操作起来很简单,直接把ZIP拖进资源管理器就能解压,但要注意:解压目标路径本身不能过长,否则新路径仍可能超标。











