在Go語言中,可以使用ioutil
包中的ReadDir
函數來遍歷指定目錄下的所有文件,然后使用os
包中的Rename
函數或者WriteFile
函數來批量修改文件。
下面是一個示例代碼,可以將指定目錄下的所有文件名添加一個后綴:
package main
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
)
func main() {
dir := "./path/to/directory" // 指定目錄
files, err := ioutil.ReadDir(dir)
if err != nil {
fmt.Println("讀取目錄失敗:", err)
return
}
for _, file := range files {
oldName := file.Name()
newName := oldName + ".bak" // 添加后綴
oldPath := filepath.Join(dir, oldName)
newPath := filepath.Join(dir, newName)
err := os.Rename(oldPath, newPath)
if err != nil {
fmt.Printf("重命名文件 %s 失敗: %v\n", oldName, err)
} else {
fmt.Printf("重命名文件 %s 成功\n", oldName)
}
}
}
注意事項:
filepath.Join
函數來構建文件路徑,以保證跨平臺的兼容性。Rename
函數時,需要傳入文件的原路徑和新路徑。WriteFile
函數時,需要傳入文件的新路徑和修改后的內容。