关于Windows文件名长度和目录深度的解释
关于文件名长度和目录深度有很多解释,实际上很多都对又都不对。
准确而言是由Windows基础库函数,特别是关于获取文件路径名的函数的限制决定的。这个值与所谓的255,259是一致的。
但有点必须说明的是,由于这个路径名获取函数采用了全路径名,因此结论是:各级路径名全长不能超过这个值。
于是所谓的文件名长度跟所处的路径级别有关。
我做了测试代码test.bat:
rem 文件开始
@echo off
mkdir %1
cd %1
copy ..\test.bat .
test.bat
rem 文件结束
执行上述批处理命令时会发现对于不同的入口参数%1,最终的路径深度是不同的。当超过限制时批处理命令会失败,目前只有请各位强行Break了。
大家可以尝试一下:
test 1
test 876543210
等等。
------解决方案--------------------Windows系统(中文)是双字节系统
250 就是 250字,不可以认为是500字节。或者说无论中文还是英文都是500字节