在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
函数时,需要传入文件的新路径和修改后的内容。