当我们编程时想要对完整路径超出MAX_PATH即260个字符甚至有时候只是超出248个字符的文件进行处理的时候,我们就没办法对这个文件进行复制、删除、重命名等操作。一直很是头疼,最近终于找到了解决方案,该方法经验证在使用.NET Framework 4.62或者以上,Windows 10、Windows Server 2016和Windows Server 2019上验证通过。
只需要两步:
- 使用.NET Framework 4.62或以上版本编译程序;
-
开启Windows的Win32长路径支持。下面以Windows 10为例,演示具体方法如下:
2.1 默认状态下,长路径是不被启用的,需要通过组策略启用,运行gpedit.msc如下:
图1. 组策略编辑器
2.2 依次在左边展开节点本地计算机策略Local Computer Policy、计算机配置Computer Configuration、管理模板Administrative Templates、所有设置All Settings如图:
图2. 设置选项
2.3 在上图右边列表中找到“开启Win32长路径Enable Win32 long paths”并双击:
图3. 更改设置并保存
选中“开启Enabled”并点击“确定OK”按钮保存设置。
2.4 确认结果如下图所示后关闭组策略编辑器即可。
图4. 设置完成
这个问题困扰了我很久,最近刚好在做个跟IO相关的项目,碰到这个问题,一咬牙,居然找到了下面的解决方案,其实这个在2016年年中就出来了,汗一个。
达叔傻乐(darwin.zuo@163.com)













网友评论