使用Go語言實現(xiàn)批量重命名文件的操作步驟
案例目標(biāo)
實現(xiàn)一個小工具,能夠批量重命名指定目錄下的所有文件,例如統(tǒng)一添加前綴、后綴,或按照順序編號。
應(yīng)用場景
- • 批量重命名圖片、視頻、文檔等
- • 整理爬蟲下載的文件
- • 按規(guī)則生成項目資源命名
涉及知識點
- • 使用
os.ReadDir()讀取目錄內(nèi)容 - • 使用
os.Rename()修改文件名 - • 使用
filepath.Ext()獲取文件擴展名 - • 字符串拼接和格式化
示例代碼:為文件添加統(tǒng)一前綴
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
dir := "./testfiles" // 目標(biāo)文件夾
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)
}
}
}
示例目錄結(jié)構(gòu)(執(zhí)行前)
testfiles/ ├── a.jpg ├── b.jpg ├── c.png
執(zhí)行后結(jié)果
testfiles/ ├── new_a.jpg ├── new_b.jpg ├── new_c.png
技術(shù)說明
| 函數(shù)/模塊 | 用途說明 |
|---|---|
| os.ReadDir() | 獲取指定路徑下的所有文件和文件夾 |
| file.IsDir() | 判斷是否為文件夾 |
| filepath.Join() | 拼接路徑,避免平臺兼容問題 |
| os.Rename() | 執(zhí)行文件重命名操作 |
拓展用法:添加編號重命名
newName := fmt.Sprintf("img_%03d%s", i+1, filepath.Ext(file.Name()))
執(zhí)行結(jié)果:
img_001.jpg img_002.jpg img_003.png
小結(jié)
本案例讓你掌握了如何讀取目錄文件并批量重命名,這一技能在數(shù)據(jù)清洗、媒體資源管理中非常實用。通過靈活控制文件名規(guī)則,你可以輕松構(gòu)建批處理工具。
到此這篇關(guān)于使用Go語言實現(xiàn)批量重命名文件的操作步驟的文章就介紹到這了,更多相關(guān)Go批量重命名文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go語言使用select監(jiān)聽多個channel的示例詳解
本文將聚焦 Go 并發(fā)中的一個強力工具,select,這篇文章將通過實際案例學(xué)習(xí)如何優(yōu)雅地監(jiān)聽多個 Channel,實現(xiàn)多任務(wù)處理、超時控制和非阻塞通信等并發(fā)技巧2025-08-08
Go實現(xiàn)用戶每日限額的方法(例一天只能領(lǐng)三次福利)
這篇文章主要介紹了Go實現(xiàn)用戶每日限額的方法(例一天只能領(lǐng)三次福利)2022-01-01
Golang中crypto/ecdsa庫實現(xiàn)數(shù)字簽名和驗證
本文主要介紹了Golang中crypto/ecdsa庫實現(xiàn)數(shù)字簽名和驗證,將從ECDSA的基本原理出發(fā),詳細解析如何在Go語言中實現(xiàn)數(shù)字簽名和驗證,具有一定的參考價值,感興趣的可以了解一下2024-02-02
Go?1.21.0?新增結(jié)構(gòu)化日志記錄標(biāo)準(zhǔn)庫log/slog使用詳解
這篇文章主要為大家介紹了Go?1.21.0?新增結(jié)構(gòu)化日志記錄標(biāo)準(zhǔn)庫log/slog使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
golang解析json數(shù)據(jù)的4種方法總結(jié)
在日常工作中每一名開發(fā)者,不管是前端還是后端,都經(jīng)常使用 JSON,下面這篇文章主要給大家介紹了關(guān)于golang解析json數(shù)據(jù)的4種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-06-06

