Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > Go批量重命名文件

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

作者:程序员爱钓鱼

这篇文章主要介绍了使用Go语言批量重命名文件的完整内容,适合初学者实践如何使用 Go 操作文件系统并批量处理文件名,文中有详细的代码示例供大家参考,需要的朋友可以参考下

案例目标

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

应用场景

涉及知识点

示例代码:为文件添加统一前缀

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, 错误: %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

小结

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

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

您可能感兴趣的文章:
阅读全文