自动清理文件名中的特殊符号与表情,确保 GBK 兼容
自动处理文件名中的表情、特殊符号和标点
只保留 GBK/GB2312 编码支持的字符
支持递归扫描所有子目录和文件
Go 编译,单文件绿色程序,运行飞快
轻量高效,适合批量处理和自动化脚本
文件名或路径过长时自动截断,避免无法访问
执行前二次确认,自动跳过程序自身
rename.exe <目标目录> [-y]
| 参数 | 说明 |
|---|---|
<目录路径> |
要扫描的目标目录(必填,支持绝对路径与相对路径) |
-y |
跳过确认直接执行(不加则扫描前询问 y/N) |
# 交互式:询问是否继续后再处理 rename.exe D:\MyFiles # 静默执行:适合批处理 / 自动化脚本 rename.exe D:\MyFiles -y
仅提供 Go 版本,Windows 64 位单文件绿色程序。
| 规则 | 说明 | 示例 |
|---|---|---|
| 保留 GBK 字符 | 中英文、数字、常用符号均保留 | 中文、abc、123、_ |
| 非 GBK 字符替换为 "-" | 表情、特殊符号、不可见控制符统一替换为连字符,连续的连字符会合并为一个 | 报告😀✨.docx → 报告-.docx a--b.txt → a-b.txt |
| 清理后名称为空 | 使用默认名(文件 kd_file,目录 cleaned_dir) | .txt → kd_file.txt |
| 超长名称截断 | 文件名 > 100 字符或完整路径 > 260 字符时截断,保证结果路径 ≤ 255 字符 | 超长文件名 → 截断后的名称 |
| 同名冲突处理 | 自动追加 _1、_2 序号避免覆盖 | kd_file.txt → kd_file_1.txt |
| 已是合法名称 | 无需修改则跳过 | hello.txt →(跳过) |
| 系统 | 支持情况 | 额外要求 |
|---|---|---|
| Windows 11 / 10(64 位) | ✅ 完全支持 | 无需任何额外安装 |
| Windows 8 / 8.1 | ❌ 不支持 | Go 1.25 已不再支持该平台 |
| Windows 7 SP1 | ❌ 不支持 | 如需支持请用 Go 1.20 及更早版本自行编译 |
| Windows XP / Vista | ❌ 不支持 | — |
A: 不会。中文字符、英文字母、数字和常用符号都在 GBK 编码范围内会被原样保留,只有表情、特殊 Unicode 符号等非 GBK 字符会被替换为 -。
A: 不能自动恢复。程序在扫描前会询问是否继续(不加 -y),确认后才会执行,重要文件请先备份。
A: 支持所有文件类型和目录。工具只修改文件名,不改变文件内容,文件扩展名会被保留。
A: 当文件名超过 100 字符、或完整路径超过 260 字符时,工具会自动截断名称,保证处理后的完整路径不超过 255 字符,避免文件无法访问。
A: 可以。使用 rename.exe "D:\MyFiles" -y 即可静默执行。
A: 不会。Go 编译的程序启动快、性能好,处理数万个文件仅需几秒。
| 开发语言 | Go 1.25.1 |
| 架构 | 64 位 (windows/amd64) |
| 核心依赖 | golang.org/x/text (GBK/GB2312 编码检测)、标准库 path/filepath + io/fs (目录递归遍历) |
| 构建参数 | go build -ldflags "-s -w"(去除调试信息,减小体积) |
| 文件大小 | 约 2.2 MB(单文件绿色程序) |