商城首页欢迎来到中国正版软件门户

您的位置:首页 >如何解决Windows系统由于路径过长无法复制 突破260字符路径限制教程

如何解决Windows系统由于路径过长无法复制 突破260字符路径限制教程

  发布于2026-04-27 阅读(0)

扫一扫,手机访问

启用系统长路径支持是根本解法,需通过组策略或注册表设置LongPathsEnabled为1并重启;再辅以PowerShell -LiteralPath复制、符号链接、WSL rsync或简化目录结构等方法绕过260字符限制。

如何解决Windows系统由于路径过长无法复制 突破260字符路径限制教程

相信不少朋友都遇到过这个令人头疼的提示:当你试图复制或移动一个文件时,系统突然弹窗,告诉你“路径太长”或者“指定的路径或文件名太长”。这背后,其实是Windows系统默认的260字符路径长度限制(MAX_PATH)在作祟。别担心,下面这几个方法,能帮你彻底解决这个问题。

一、启用系统级长路径支持

想要一劳永逸?最根本的办法是让Windows内核自己“松绑”。启用LongPathsEnabled这个选项后,系统允许应用程序(包括资源管理器、命令提示符和PowerShell)原生处理最长约32,767个字符的路径,相当于彻底拆除了260字符这堵墙。这个设置需要重启才能生效,也是后续所有操作能够成功的前提。

1、对于Windows专业版、企业版或教育版用户,最方便的方法是使用组策略。按下Win+R,输入gpedit.msc并回车。

2、在组策略编辑器中,依次导航至:计算机配置 → 管理模板 → 系统 → 文件系统。在右侧找到“启用 Win32 长路径”这一项,双击它,选择“已启用”,然后点击“确定”。

3、如果你是家庭版用户,别着急,我们还有注册表这条路。同样按下Win+R,输入regedit打开注册表编辑器。定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem这个路径。双击修改LongPathsEnabled的数值数据为1。如果这个键值不存在,就右键新建一个“DWORD(32位)值”,名称必须严格输入为LongPathsEnabled,基数选十进制或十六进制都可以,数值设为1。

4、完成上述任何一项设置后,务必重启你的计算机,让改动生效。

二、使用 PowerShell 强制复制超长路径文件

如果来不及重启,或者只想临时解决手头的问题,PowerShell是一个强大的工具。它的-LiteralPath参数非常关键,它能绕过路径字符串的常规解析环节,直接按字面量去匹配目标路径。这样一来,即使路径里包含了方括号、花括号这类容易引起解析混乱的特殊字符,也能被准确识别,再配合Copy-Item命令,复制操作就可靠多了。

1、首先,我们需要以管理员身份运行PowerShell。右键点击“开始”按钮,选择“Windows Terminal(管理员)”或“Windows PowerShell(管理员)”。

2、在打开的窗口中,输入类似这样的命令:Copy-Item -LiteralPath "C: erylongpathosource.txt" -Destination "D:shortdest.txt" -Force。记得把引号里的源路径和目标路径替换成你实际要操作的绝对路径。这里有个细节:源路径必须包含盘符(如C:),而目标路径则需要确保其父目录已经存在。

3、按下Enter键执行命令。如果目标路径本身也很长,一个实用的技巧是:先把目标设为盘符根目录下的一个短路径(比如D:),复制过去之后,再逐步移动到最终位置。

三、通过映射网络驱动器或创建符号链接缩短可见路径

这个方法比较巧妙,它不修改系统底层的设置,而是通过“创建快捷入口”的方式,把深不见底的路径“变短”。资源管理器在操作时,计算的路径长度会大幅缩减,特别适合临时复制或者需要频繁访问的场景。

1、假设你要操作的文件位于本地一个非常深的目录里,比如C:UsersADocumentsProjectsrclibutilsdeepested ile.txt。我们先以管理员身份打开CMD或PowerShell。

2、执行创建符号链接的命令:mklink /D C:ShortRef "C:UsersADocumentsProjectsrclibutilsdeepested"。这行命令会在C盘根目录创建一个名为ShortRef的目录链接,它直接指向那个深层的原始文件夹。

3、现在,打开资源管理器,直接访问C:ShortRef,你会发现里面的文件和原文件夹一模一样。这时,你就可以像操作普通文件夹一样,轻松选中并复制其中的文件到任何地方了。

4、如果要操作的是网络路径(比如群晖NAS的SMB共享里的深层文件夹),我们可以用映射网络驱动器的方法。运行命令:net use Z: "\NAS_IPsharedeepestedpath" /persistent:yes。之后,你就可以通过Z: ile.txt这样简短的路径来访问和复制文件了。

四、使用 Windows Subsystem for Linux(WSL)执行复制

这招可以说是“降维打击”。WSL运行在Linux内核之上,完全不受Windows那个MAX_PATH限制的约束,可以原生处理任意长度的路径。对于那些嵌套极深、或者包含复杂Unicode字符和特殊字符的路径,这个方法尤其好用,而且不需要重启电脑或修改任何系统策略。

1、首先,确保你的电脑已经安装了WSL。如果还没装,可以在PowerShell里执行wsl --install来完成默认安装。

2、启动WSL终端(比如Ubuntu)。为了获得更强大的复制功能,建议先安装rsync工具。对于Ubuntu发行版,可以执行:sudo apt update && sudo apt install -y rsync

3、WSL会自动将你的Windows磁盘挂载到Linux系统下。通常,C盘对应/mnt/c/,D盘对应/mnt/d/,以此类推。所以,你的Windows路径C: erylongpathsrc,在WSL里就变成了/mnt/c/very/long/path/src

4、最后,执行复制命令:rsync -a v "/mnt/c/very/long/path/src/" "/mnt/d/short/dest/"。注意,目标盘符(如D盘)也需要在WSL中确认其挂载点。

五、调整文件存放结构并配合短路径别名操作

说到底,最好的防御就是进攻。与其每次都和超长路径斗智斗勇,不如从源头上优化文件的存放结构。通过缩短项目根目录的深度、精简关键子目录的命名,让完整路径自然落在安全范围内。这不仅降低了对系统级修改的依赖,从长远看,也大大提升了项目的可维护性。

1、举个例子,把原本放在C:UsersNameDocumentsGitHubmy-project endorpackagesrchelperutil.php这么深位置的项目,迁移到一个更浅的目录,比如C:pmp pshuutil.php(这里用单字母目录名来极大缩短路径)。

2、迁移后,直接在资源管理器的地址栏输入新路径并回车,确认可以正常访问所有文件。

3、接下来的操作就回归简单了:选中目标文件,按Ctrl+C复制,然后导航到目标位置,按Ctrl+V粘贴即可。

4、如果涉及到开发环境(比如使用Composer的PHP项目),还可以同步调整配置来压缩路径。在项目目录下执行:composer config vendor-dir "v"(仅本项目生效),或者在全局执行:composer config --global cache-dir "C:/c",这样能进一步减少依赖包的路径层级。

本文转载于:https://www.php.cn/faq/2378805.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注