在go语言中实现按扩展名删除文件示例

2023-06-01 00:00:00 删除 示例 扩展名

能够选择某些类型的文件进行删除是非常有用的,用filepath.Ext()函数删除具有特定扩展名的文件。

下面我以扩展名为.png的文件为例。

将在代码中添加一个额外的if语句,以便只删除扩展名为.png的文件。

注意这行代码

if filepath.Ext(file.Name()) == ".png"


示例代码:

deletefilebyextension.go


package main

  import (
      "fmt"
      "os"
      "path/filepath"
  )
 
  func main() {
      dirname := "." + string(filepath.Separator)
      d, err := os.Open(dirname)
      if err != nil {
          fmt.Println(err)
          os.Exit(1)
      }
      defer d.Close()
     
      files, err := d.Readdir(-1)
      if err != nil {
          fmt.Println(err)
          os.Exit(1)
      }
     
      fmt.Println("Reading "+ dirname)
      for _, file := range files {
          if file.Mode().IsRegular() {
              if filepath.Ext(file.Name()) == ".png" {
                os.Remove("file.Name()")
                fmt.Println("Deleted ", file.Name())
              }
          }
      }
  }

有兴趣的话可以把几个.png文件放到与这个go程序相同的目录中,然后执行一下。

相关文章