使用Go语言实现批量重命名文件的操作步骤

Written by

in

文章目录
  • 实现一个小工具,能够批量重命名指定目录下的所有文件,例如统一添加前缀、后缀,或按照顺序编号。
  • • 批量重命名图片、视频、文档等 • 整理爬虫下载的文件 • 按规则生成项目资源命名
  • • 使用 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 := filepath.Join(dir, newName) // 重命名文件 err := os.Rename(oldPath, newPath) if err != nil { fmt.Printf(“重命名失败: %s -> %s, 错误: %vn”, oldPath, newPath, err) } else { fmt.Printf(“重命名成功: %s -> %sn”, 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
  • 本案例让你掌握了如何读取目录文件并批量重命名,这一技能在数据清洗、媒体资源管理中非常实用。通过灵活控制文件名规则,你可以轻松构建批处理工具。 到此这篇关于使用Go语言实现批量重命名文件的操作步骤的文章就介绍到这了,更多相关Go批量重命名文件内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: 使用Go语言开发一个智能exe文件重命名工具 利用go语言实现Git 重命名远程分支   使用Go语言统计文件中每个字母出现频率的方法 利用Go语言遍历目录下所有文件的示例代码 使用Go解析.ini配置文件格式的操作教程
  • 目录
    • 案例目标
    • 应用场景
    • 涉及知识点
    • 示例代码:为文件添加统一前缀
    • 示例目录结构(执行前)
    • 执行后结果
    • 技术说明
    • 拓展用法:添加编号重命名
    • 小结

    实现一个小工具,能够批量重命名指定目录下的所有文件,例如统一添加前缀、后缀,或按照顺序编号。

    • • 批量重命名图片、视频、文档等
    • • 整理爬虫下载的文件
    • • 按规则生成项目资源命名

    • • 使用 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 := filepath.Join(dir, newName)
    
            // 重命名文件
            err := os.Rename(oldPath, newPath)
            if err != nil {
                fmt.Printf("重命名失败: %s -> %s, 错误: %vn", oldPath, newPath, err)
            } else {
                fmt.Printf("重命名成功: %s -> %sn", 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
    

    本案例让你掌握了如何读取目录文件并批量重命名,这一技能在数据清洗、媒体资源管理中非常实用。通过灵活控制文件名规则,你可以轻松构建批处理工具。

    到此这篇关于使用Go语言实现批量重命名文件的操作步骤的文章就介绍到这了,更多相关Go批量重命名文件内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • 使用Go语言开发一个智能exe文件重命名工具
    • 利用go语言实现Git 重命名远程分支  
    • 使用Go语言统计文件中每个字母出现频率的方法
    • 利用Go语言遍历目录下所有文件的示例代码
    • 使用Go解析.ini配置文件格式的操作教程

    站内搜索