用go写一个程序,读取文件夹中所有文件的列表,根据文件名中包含的日期判断,删除7天前的文件
时间: 2023-02-08 11:01:02 浏览: 101
删除指定目录下指定天数之前的文件
以下是一个在 Go 中读取文件夹中所有文件并根据文件名中包含的日期判断,删除 7 天前的文件的示例程序:
```go
package main
import (
"fmt"
"os"
"time"
"path/filepath"
)
func main() {
dir := "path/to/folder" // 替换为文件夹的路径
now := time.Now()
fmt.Println("Deleting files older than 7 days...")
filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
if info.IsDir() {
return nil
}
if time.Since(info.ModTime()) > (time.Hour * 24 * 7) {
// 判断文件是否超过 7 天
if err = os.Remove(path); err != nil {
fmt.Println("Error deleting file: ", err)
return err
}
fmt.Println("Deleted: ", path)
}
return nil
})
fmt.Println("Done!")
}
```
注意:上面程序删除的是文件的修改时间,如果你要删除文件名中包含的日期,需要根据文件名进行自己的判断。
阅读全文