Windows文件名长度限制
参考:https://social.technet.microsoft.com/Forums/windows/en-US/53779044-d453-458b-b8c4-96d41711ea69/file-name-too-long-cannot-copy?forum=w7itprogeneral
参考:https://fresky.github.io/2015/10/13/story-about-windows-file-name/
参考:https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#maximum-path-length-limitation
win7环境通常模式下:
path+filename: 260个长度是作为文件目录长度+文件名的长度限制之和(带结束符‘\0’)。
path: 248个长度是作为文件目录的长度限制(带结束符‘\0’);
filename: 256个长度通常作为文件名称的长度限制(带结束符‘\0’),不算结束符的话为255个字符;
1. 例如-建立文件:path+filename触发限额260
所在文件夹的长度为50,则文件名的长度被限制在210以内,超出的话会被进行截断。
2. 例如-建立文件夹:path触发限额248
在c:\下建立文件夹(目录前缀"c:\"占据3个长度),新建文件夹名称限制在245以内,超出的话会被进行截断。
3. 例如-建立文件:filename触发限额256
在c:\下建立文件(目录前缀"c:\"占据3个长度),新建文件夹名称限制在256以内,超出的话会被进行截断。
如果在程序中的话,超出长度的话MoveFile/CopyFile会返回错误,处理失败。
例子1:建立文件
1. 我手动在C:\建立一个文件,使用280个长度进行重命名,实际生成的文件名长度却是256个长度(带字符串结束符’\0’)
新建时使用280长度(带‘\0'结束符):1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklm.txt
实际生成文件名,共计256个长度(带字符串结束符’\0’):
256长度(带‘\0'结束符):1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz123
2. 把这个文件往”C:\temp”目录copy的时候
报错: 文件名对目标文件夹可能过长,您可以缩短文件名并重试,或者尝试路径较短的位置。
意味着,
a. 要么我们把文件名改短一些,
b. 要么copy 的目录长度短一些,例如向”D:\”复制就没会有问题。
例子2:建立文件夹
1. 我手动在C:\建立一个文件夹,使用280个长度进行重命名,实际生成的文件夹名称却是带字符串结束符’\0’共245个长度
新建时使用280长度(带‘\0'结束符):1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
实际生成目录名称: 共计245个长度(带字符串结束符’\0’)
245长度(带‘\0'结束符):1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr
和父目录“c:\"连接在一起形成的目录长度正好为248长度(带‘\0'结束符)
c:\1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr
2. 在该目录下,再尝试建立目录时,失败-报错建立路径过长
意味着,
a. 总目录长度已经达到了最大限制,不能再往下建立目录
3. 另外,在该目录下新建文件,利用同样字符串,可以建立一个12长度的文件(带‘\0'结束符),超出会被截断
a. 建立的文件名(带'\0'长度12):1234567890a
b. 文件路径前缀(带‘\’长度248) + 文件名长度12 = 260 达到限额
Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源
Windows文件名长度限制相关推荐
- linux最大文件名,linux和windows文件名长度限制
Linux文件名的长度限制是255个字符 windows下完全限定文件名必须少于260个字符,目录名必须小于248个字符. linux下文件数.目录数.文件名长度的各种限制 以下测试都是在没有优化或修 ...
- linux文件名长度限制6,linux和windows文件名长度限制问题
文件名和目录名在操作系统中都有最大长度的限制,而且不同系统中的最大长度不同. 这些限制在Linux系统下可以通过修改系统内核修改这个限制. Linux文件名的长度限制是255个字符 windows下完 ...
- linux操作系统的文件名最大长度为,linux和windows文件名长度限制
Linux文件名的长度限制是255个字符 windows下完全限定文件名必须少于260个字符,目录名必须小于248个字符. linux下文件数.目录数.文件名长度的各种限制 以下测试都是在没有优化或修 ...
- android文件路径长度限制,如何解决Win7文件名长度过长问题?
电脑用久了总是会产生垃圾,这时候我们就得去清理,但是有时候清理到一些文件夹的时候却提示"该文件夹包含名称过长且无法放入回收站的项目",那么当你遇到文件名长度过长怎么办?不知道的朋友 ...
- linux中文文件名长度ftp无法传输,上传ftp时文件名不能太长
ftp上传不了多个汉字文件名的文件. server-U11安装后,ftp上传文件时,必须使用英文字符或数据的文件名才能进入ServerU管理端界面,点击"服务器限制和设置"分类功能 ...
- linux下查看、删除指定文件名长度的文件
1.列出文件名长度为12的文件 ls |awk '{if(length($0)==12) {print $0}}' 2.删除文件名长度为12的文件 a=($(ls | awk '{if(length ...
- python变量名长度有限制吗_怎么去除 Python 下载文件时的文件名长度 50 限制
我使用 urllib.request.urlretrieve(fileLink,fileNmae) 进行批量文件下载时报错 正在下载:agentx1_1.1.0-8bb70d4416f9574086b ...
- 查看windows文件名的编码
dir > encode.txt 然后用 sublime txt3 软件打开文件 encode.txt 快捷键 Ctrl+` (此为1左边的'~'键) 然后输入view.encoding(),即 ...
- python路径长度限制,Linux下文件名长度限制
Linux下文件名长度限制 出现场景:在迭代中有一个需求是将pdf文件名修改为所有班级的名称集合,出现的班级过多导致的文件名过长在linux下无法创建文件和文件夹的情况 解决方式:经过查证,linux ...
最新文章
- Python 开发面试题
- 2022年美国大学生数学建模竞赛——Problem A:自行车手的功率剖面
- 2021暑假实习-SSM超市积分管理系统-day08笔记
- MVC 用户权限HttpContext.User.IsInRole()
- Ocrad.js – JS 实现 OCR 光学字符识别
- 微信做了个新功能,网友并不买账:就为了给QQ充会员?
- redis在linux中安装目录,小刀博客园
- 网络安全--通过握手包破解WiFi(详细教程)
- 【历史上的今天】10 月 1 日:仙童半导体公司诞生;斯坦福大学正式办学;万维网之父成立万维网联盟
- 万变不离CHP 天霆“交付”多元化应用
- 【C++入门基础篇】---- 万字解析
- Rooting A Linux System 101
- Codeforces Round #797 (Div. 3) F. Shifting String题解
- Linux数据备份工具
- 家庭监控如何赢取用户信赖?
- Mysql 通过 binlog日志 恢复数据(数据搞丢看过来)
- 江苏机器人竞赛南航_第十届江苏省大学生机器人大赛
- 高新技术企业认定的价值
- 坚石诚信ET199外壳加密方式
- LVSDR模式+keepalived
热门文章
- 东坝电子计算机学校招生条件,人大附中朝阳分校东坝校区2020小升初招生开始了吗?...
- 关于 java.lang.NoClassDefFoundError: com/taobao/api/ApiException
- 一个开发者账号,多台MAC同时使用
- 南约地铁口炳坑村旧改,正在拆除中,京基地产开发。
- java 通过泛型创建对象
- 【软件测试】测试面试,面试官其实想要的答案......
- tmux工具简单介绍
- 在微信开放平台上创建移动应用
- 指数随机变量 泊松过程跳_随机过程学习笔记(1):指数分布与泊松过程
- 基于PHP的网上女装销售系统设计与实现