对windows文件名取名规则是什么?Windows文件名命名规范及禁忌
技术百科
舞夢輝影
发布时间:2026-01-23
浏览: 次 Windows文件命名须避开9个禁用字符(\ / : * ? " |)、260字符路径限制、CON等系统保留名、首尾空格及结尾句点,并注意大小写不敏感与Unicode兼容性要求。
如果您在Windows系统中创建文件或文件夹时遇到命名失败、无法保存、提示“名称无效”或文件异常不可见等问题,则很可能是违反了系统底层的文件名取名规则。以下是符合Windows内核与NTFS文件系统要求的命名规范及明确禁忌项:
一、禁止使用的字符
Windows将特定字符保留用于路径解析、命令行操作或设备通信,因此这些字符在任何位置(开头、中间、结尾)均不可出现在文件名或文件夹名中。使用即触发系统拒绝创建或重命名操作。
1、禁用字符共9个:\ / : * ? " |
2、这些字符的Unicode等价形式(如全角冒号:、全角问号?、零宽空格等)同样被系统识别为非法,不可使用。
3、即使字符被URL编码(如%3A)、Base64编码或嵌入不可见控制符,NTFS驱动层仍会拦截并拒绝写入。
二、长度限制与路径约束
Windows API默认采用MAX_PATH=260字节限制,该限制作用于完整路径(含盘符、各级文件夹、文件名及扩展名),而单个文件名(不含路径)最大允许255个UTF-16码元。超出将导致CreateFile、MoveFile等系统调用失败。
1、纯文件名(含扩展名)不得超过255个字符;中文字符按UTF-16计为1字符/汉字,故最多约127个汉字加1个ASCII字符。
2、完整路径(如C:\a\b\c\filename.txt)总长度不能超过260字符,否则资源管理器、CMD、PowerShell多数命令将报错“路径不存在”或“参数错误”。
3、若启用长路径支持(通过组策略或应用程序清单声明longPathAware),NTFS本身支持最长32767字符路径,但大量旧程序、备份工具、杀毒软件仍不兼容,不建议依赖。
三、系统保留名称禁用规则
这些名称源自DOS时代硬件设备映射,Windows内核在对象管理器中永久注册为设备节点。任何层级的文件或文件夹若命名为以下名称(不区分大小写、不加扩展名亦生效),均会被系统拦截并拒绝创建。
1、核心设备名:CON、PRN、AUX、NUL
2、串口与并口名:COM1 至 COM9、LPT1 至 LPT9
3、命名时即使添加扩展名(如CON.txt、prn.dat)或前后加空格(如" CON "),系统仍按保留名处理,操作将失败。
四、空格与标点符号的特殊处理
Windows允许在文件名中间

1、文件名开头或结尾不得为空格(包括全角空格、不间断空格U+00A0);输入后系统自动去除,实际保存名无首尾空格。
2、文件名不能以英文句点(.)结尾(如“report.”、“data.”);此类名称会被视为无扩展名的隐藏系统文件,资源管理器不显示,且CreateFile返回INVALID_HANDLE_VALUE。
3、文件名中间可含多个句点(如“v2.1.0.release.zip”),仅最后一个句点后内容被识别为扩展名,但句点本身不构成违规。
五、大小写与Unicode兼容性要求
NTFS文件系统底层存储文件名时保留原始大小写,但所有API查询(FindFirstFile、GetFileAttributes等)均执行不区分大小写的匹配。Unicode支持完备,但需满足编码有效性与显示安全性。
1、File.txt 与 file.txt 视为同一文件,后者覆盖前者;重命名时若仅改变大小写,系统不触发实际写操作。
2、允许使用中文、日文、韩文、阿拉伯文、西里尔字母等Unicode字符,但必须为合法UTF-16序列,禁止U+FFFE、U+FFFF等非字符码位。
3、表情符号(Emoji)、变体选择符(VS1–VS16)、组合字符(如带音标的拉丁字母)虽技术上可写入,但部分Shell扩展、网络共享协议(SMB1)、旧版备份工具可能无法正确传输或渲染,不建议在生产环境文件名中使用。
# 多个
# 英文
# windows
# 日文
# 工具
# win
# 重命名
# 资源管理器
# 扩展名
# 对象
# 编码
# 字节
# 杀毒软件
# windows系统
# ASCII
# 文件系统
# 全角
# 备份工具
# 性要求
# 阿拉伯文
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- mac怎么退出id_MAC退出iCloud账号与A
- C++中引用和指针有什么区别?(代码说明)
- Windows10电脑怎么设置自动连接WiFi_W
- Python深度学习实战教程_神经网络模型构建与训
- 短链接怎么用php递归还原_多层加密链接的处理法【
- php条件判断怎么写_ifelse和switchc
- 如何在 Django 中安全修改用户密码而不使会话
- 如何使用Golang实现文件加密_Golang c
- Win11怎么更改鼠标指针方案_Windows11
- Win11怎么设置快速访问_Windows11文件
- 如何在Windows中创建新的用户账户?(标准与管
- 如何在Golang中引入测试模块_Golang测试
- Win11如何设置环境变量 Win11添加和修改系
- Windows 11登录时提示“用户配置文件服务登
- Windows10怎么卸载预装软件_Windows
- 如何使用Golang反射将map转换为struct
- 使用类变量定义字符串常量时如何实现类型安全的 Li
- c++中的std::conjunction和std
- Win11怎么恢复出厂设置_Win11重置此电脑保
- Win11怎么设置指纹解锁 Win11笔记本录入指
- 如何在 Windows 11 中使用 AlomWa
- 如何诊断并终止卡死的 multiprocessin
- 如何用正则与预处理高效拦截带干扰符的恶意域名
- 如何用::实现工具类方法调用_php静态工具类设计
- Windows10如何更改桌面图标间距_Win10
- Win11怎么关闭搜索历史 Win11清除搜索框最
- c++ namespace命名空间用法_c++避免
- c++的位运算怎么用 与、或、异或、移位操作详解【
- Win10怎么创建桌面快捷方式 Win10为应用创
- 如何使用 Selenium 正确获取篮球参考网站球
- 为什么Go建议使用error接口作为错误返回_Go
- Win11怎么关闭自动调节屏幕亮度_Windows
- php串口通信波特率怎么选_根据硬件手册设置正确波
- PythonPandas数据分析教程_数据清洗与处
- Windows10如何更改鼠标图标_Win10鼠标
- Python模块的__name__属性如何由导入方
- Win11怎么设置开机自动连接宽带_Windows
- php中作用域操作符能访问私有静态属性吗_访问权限
- 如何在 VS Code 中正确配置并使用 NumP
- Mac如何设置动态壁纸?(让桌面动起来)
- Python音视频处理高级项目教程_FFmpegP
- Win11怎么硬盘分区 Win11新建磁盘分区详细
- MAC怎么一键隐藏桌面所有图标_MAC极简模式切换
- Win11摄像头无法使用怎么办_Win11相机隐私
- 如何使用Golang构建简易投票统计功能_Gola
- Windows如何使用注册表查找和删除项?(reg
- Windows电脑键盘突然失灵怎么办?(驱动与硬件
- 如何使用正则表达式批量替换重复的 *- 模式为固定
- 如何在Golang中操作嵌套切片指针_Golang
- Win11怎么设置任务栏透明_Windows11使

QQ客服