Golang : Delete files by extension
Being able to select certain type of files to delete can be useful. In this follow up tutorial from Golang : Delete file, we are going to refine it further by only deleting files with certain extension with filepath.Ext()
function.
In our case, it will files with .png
extension.
Adapting the codes from earlier tutorial, we will add one additional if
statement into the code to only delete files with .png
extension.
The extra line is 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())
}
}
}
}
Put couple of .png
files into the same directory as this go program and try it out.
Reference :
http://stackoverflow.com/questions/20115327/golang-rename-the-directory-and-partial-file-renaming
See also : Golang : Delete file
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+6.4k Golang : How to convert strange string to JSON with json.MarshalIndent
+8.2k Golang : How to get garbage collection data?
+28.4k Golang : How to verify uploaded file is image or allowed file types
+24.5k Golang : How to write CSV data to file
+11.4k Golang : "https://" not allowed in import path
+30.9k Golang : Convert []string to []byte examples
+12.2k Golang : Read XML elements data with xml.CharData example
+5k Fix ERROR 2003 (HY000): Can't connect to MySQL server on 'IP address' (111)
+10k Golang : Proper way to test CIDR membership of an IP 4 or 6 address example
+9.1k Fix ERROR 1045 (28000): Access denied for user 'root'@'ip-address' (using password: YES)
+7.1k Prevent Write failed: Broken pipe problem during ssh session with screen command
+12k CodeIgniter : "Fatal error: Cannot use object of type stdClass as array" message