使用Go语言实现批量重命名文件的操作步骤
目录
- 案例目标
- 应用场景
- 涉及知识点
- 示例代码:为文件添加统一前缀
- 示例目录结构(执行前)
- 执行后结果
- 技术说明
- 拓展用法:添加编号重命名
- 小结
案例目标
实现一个小工具,能够批量重命名指定目录下的所有文件,例如统一添加前缀、后缀,或按照顺序编号。
应用场景
- • 批量重命名图片、视频、文档等
- • 整理爬虫下载的文件
- • 按规则生成项目资源命js名
涉及知识点
- • 使用
os.ReadDir()
读取目录内容 - • 使用
os.Rename()
修改文件名 - •编程 使用
filepath.Ext()
获取文件扩展名 - • 字符串拼接和格式化
示例代码:为文件添加统一前缀
package main import ( "fmt" "os" "path/filepath" ) func main() { dir := "./testfiles" // 目标文件夹 prefix := "new_" // 要添加的前缀 // 读取目录下所有文件 files, err := os.ReadDir(dir) if err != nil { fmt.Println("读取目录失败:", err) return } for _, file := range files { if file.IsDir() { continue // 跳过子目录 } oldPath := filepath.Join(dir, file.Name()) newName := prefix + file.Name() newpath := fiwww.devze.comlepath.Join(dir, newName) /编程客栈/ 重命名文件 err := os.Rename(oldPath, newPath) if err != nil { fmt.Printf("重命名失败: %s -> %s, 错误: %v\n", oldPath, newPath, err) } else { fmt.Printf("重命名成功: %s -> %s\n", oldPath, newPath) } } }
示例目录结构(执行前)
testfiles/ ├── a.jpg ├── b.jpg ├── c.png
执行后结果
testfiles/ ├── new_a.jpg ├── new_b.jpg ├── new_c.png
技术说明
函数/模块 | 用途说明 |
---|---|
os.ReadDir() | 获取指定路径下的所有文件和文件夹 |
file.IsDir() | 判断是否为文件夹 |
filepath.Join() | 拼接路径,避免平台兼容问题 |
os.Rename() | 执行文件重命名操作 |
拓展用法:添加编号重命名
newName := fmt.Sprintf("img_%03d%s", i+1, filepath.Ext(file.Name()))
执行结果:
img_001.jpg img_002.jpg img_003.png
小结
本案例让你掌握了如何读取目录文件并批量重命名,这一技能在数据清洗、媒体资源管理中非常实用。通过灵活控android制文件名规则,你可以轻松构建批处理工具。
到此这篇关于使用Go语言实现批量重命名文件的操作步骤的文章就介绍到这了,更多相关Go批量重命名文件内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
精彩评论