启用长路径支持需修改注册表并重启,robocopy可绕过限制无需重启,zip压缩能规避路径长度问题,powershell的-literalpath参数专用于含特殊字符的超长路径。

当你在Windows电脑上复制文件,系统突然弹出“文件名太长无法复制”或“指定的路径或文件名太长”提示,说明源路径与目标路径叠加后总长度已突破系统默认的260字符限制(MAX_PATH),资源管理器直接拒绝操作。这不是文件损坏,而是Windows底层路径解析机制触发了硬性拦截。
启用系统级长路径支持(永久解法)
这一步让Windows内核允许应用程序处理最长约32,767字符的路径,是所有后续操作有效性的前提。不重启,任何工具都读不到这个开关。
第一步:按 Win+R 输入 regedit,以管理员身份打开注册表编辑器。
第二步:导航至 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem。
第三步:在右侧空白处右键 → 新建 → DWORD (32位) 值,严格命名为 LongPathsEnabled。
第四步:双击该值,将“数值数据”设为 1,基数选十进制或十六进制均可;若已存在但值为0,直接改为1即可。
第五步:【必须重启电脑】,否则设置不生效。重启后,PowerShell、CMD、VS Code、Git等现代工具将原生支持超长路径。
用Robocopy命令强制移动(无需重启)
Robocopy是Windows自带的鲁棒复制工具,它绕过资源管理器的路径校验逻辑,即使未启用长路径支持也能直接处理超长路径,且单个文件失败不会中断整个任务。
方法一:以管理员身份运行Windows Terminal(PowerShell或CMD)。
方法二:输入命令:robocopy "C:\源完整路径" "D:\目标完整路径" /E /MOVE /R:0 /W:0。
注意:两个路径必须用英文双引号包裹,且不能以反斜杠结尾;/MOVE 表示移动(复制后删源),/E 包含空子目录。
方法三:按 Enter 执行。若提示“已复制 0 个文件”,请检查源路径是否存在拼写错误、权限不足或路径中混用了中文标点。
压缩中转法(最简单,零配置)
ZIP格式在解压时以当前解压位置为根目录重建路径,彻底规避原始路径长度叠加问题,适合一次性迁移或临时应急。
右键点击包含长路径文件的最外层文件夹 → “发送到” → “压缩(zipped)文件夹”。
生成的ZIP文件拖到目标位置后,双击打开 → 全选内容 → 直接拖入目标文件夹即可解压。
这一步操作起来很简单,直接把ZIP文件拖进去就行,不需要任何命令或权限提升。
用PowerShell -LiteralPath参数精确操作
当文件路径中包含方括号、花括号、星号等特殊字符,或资源管理器根本无法选中该文件时,-LiteralPath 是唯一能正确识别它的参数。
以管理员身份打开Windows PowerShell。
输入命令:Copy-Item -LiteralPath "C:\a\b[c]\d{e}\file.txt" -Destination "D:\short\folder\" -Force。
【-LiteralPath 是唯一能正确识别它的参数】;漏掉它会导致报错“找不到路径”,哪怕路径一字不差。
目标路径建议先设为盘符根目录下的短路径(如 D:\temp\),避免目标端也超长。











