我们在程序中,有时候会遇到因路径名过长(超过 MAX_PATH 260个字符)而导致文件操作失败的情况。比如百度网盘下载时遇到文件名过长,显示“本地路径无效”的错误。
在Win10中,有一种简便的方法,可以绕开大部分这样的错误。
方法是,修改注册表中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 下的 LongPathsEnabled 的值,从默认值 0 修改为 1,如下图。
可能有人问,为什么 MAX_PATH 是 260 而不是 256 字符呢?因为路径名的形式是 D:\以反斜杠分割的最大256字符的路径<NUL> 这样加起来总共是260字符。
参见 https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation