Windows文件路径长度限制及文件命名特殊符号限制

Windows文件路径长度限制及文件命名特殊符号限制

1. 最大路径长度:

参考文档:https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation

1.1 最大路径长度默认是260个字符,如果是本地路径,可以指定的有效长度是256个字符,比如:"C:\有效字符串 ",实际C:\占用3个字符串,"有效字符串"后面会跟收尾符,3+256+1=260

这里,我在另一篇文档里还提到cmd命令行下248个字符的限制,怎么回事?

C:\1xxx\2xxx\3xxx\4xxx\5xxx\6xxx\7xxx\8xxx\9xxx\10xxx\11xxx\12xxx\13xxx\14xxx\15xxx\16xxx\17xxx\18xxx\19xxx\20xxx\21xxx\22xxx\23xxx\25xxx\26xxx\27xxx\28xxx\29xxx\30xxx\31xxx\32xxx\33xxx\34xxx\35xxx\36xxx\37xxx\38xxx\39xxx\40xxx\41xxx\42xxx\43xxx\4\

这个路径明明是248个字符为啥触发260个字符限制呢

因为系统根目录C:实际是%systemdrive%,把C:用%systemdrive%替代后则是

%systemdrive%\1xxx\2xxx\3xxx\4xxx\5xxx\6xxx\7xxx\8xxx\9xxx\10xxx\11xxx\12xxx\13xxx\14xxx\15xxx\16xxx\17xxx\18xxx\19xxx\20xxx\21xxx\22xxx\23xxx\25xxx\26xxx\27xxx\28xxx\29xxx\30xxx\31xxx\32xxx\33xxx\34xxx\35xxx\36xxx\37xxx\38xxx\39xxx\40xxx\41xxx\42xxx\43xxx\4\

这个路径确实是260个字符

1.2 如果想启用长路径,可以执行如下命令:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

启用后,允许最大总路径长度为32767个字符的扩展长度路径。

2. 文件命名限制:

文件名不能包含下列任何字符:

\ / : * ? " < > |

3、启用长路径后,在explorer里鼠标操作长路径文件夹仍碰到相关限制的提示

需求描述:启用长路径后,不仅需要命令行能正常使用,还需要图形界面右键创建文件夹

问题原因:微软Windows设计问题

解决办法:mklink或subst命令

cmd.exe /c mklink "短路径" “长路径” /D

mklink示例:

代码语言:bash复制cmd.exe /c mklink "C:\Users\Administrator\Desktop\test" "C:\1xxx\2xxx\3xxx\4xxx\5xxx\6xxx\7xxx\8xxx\9xxx\10xxx\11xxx\12xxx\13xxx\14xxx\15xxx\16xxx\17xxx\18xxx\19xxx\20xxx\21xxx\22xxx\23xxx\25xxx\26xxx\27xxx\28xxx\29xxx\30xxx\31xxx\32xxx\33xxx\34xxx\35xxx\36xxx\37xxx\38xxx\39xxx\40xxx\41xxx\42xxx\43xxx\44xxx\" /D

风雨相关

口头禅的解释及意思
365体育手机版下载安装

口头禅的解释及意思

🌀 07-18 💧 阅读 3813
一键启动的车怎么熄火?一键启动汽车正确熄火步骤
365体育官网登录入口

一键启动的车怎么熄火?一键启动汽车正确熄火步骤

🌀 07-25 💧 阅读 7856
心理现象为什么1——为什么有的孩子喜欢虐待小动物
365体育平台真假怎么分

心理现象为什么1——为什么有的孩子喜欢虐待小动物

🌀 07-01 💧 阅读 3247
如何查看手机电池信息
365体育官网登录入口

如何查看手机电池信息

🌀 07-23 💧 阅读 6070