Created
March 18, 2015 07:34
-
-
Save magicianzrh/4a4d9abfddd4172ce57c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
clear all empty folder or only contain .DS_Store Thunmbs.db | |
TODO:CHECK PARENT FOLDER | |
*/ | |
package main | |
import ( | |
"fmt" | |
"io/ioutil" | |
"log" | |
"os" | |
"path/filepath" | |
"strings" | |
) | |
var cur_path string | |
var all_empty_dir_list []string | |
var need_del_dir_list []string | |
func main() { | |
var err error | |
cur_path, err = filepath.Abs(filepath.Dir(os.Args[0])) | |
if err != nil { | |
log.Fatal(err) | |
} | |
fmt.Println("base dir path:" + cur_path) | |
del_cache_files() | |
find_empty_folder() | |
check_remove_folder() | |
} | |
func del_cache_files() { | |
filepath.Walk(cur_path, func(path string, fi os.FileInfo, err error) error { | |
if fi == nil { | |
return err | |
} | |
if fi.IsDir() { | |
return nil | |
} | |
if fi.Name() == ".DS_Store" || fi.Name() == "Thumbs.db" { | |
err := os.Remove(path) | |
if err != nil { | |
log.Fatal(err) | |
} | |
} | |
return nil | |
}) | |
} | |
func find_empty_folder() { | |
all_empty_dir_list = make([]string, 0) | |
filepath.Walk(cur_path, func(path string, fi os.FileInfo, err error) error { | |
if fi == nil { | |
return err | |
} | |
if fi.IsDir() && !strings.Contains(path, ".git") { | |
list, err := ioutil.ReadDir(path) | |
if err != nil { | |
log.Fatal(err) | |
} | |
if len(list) <= 0 { | |
all_empty_dir_list = append(all_empty_dir_list, path) | |
} | |
} | |
return nil | |
}) | |
} | |
func check_remove_folder() { | |
fmt.Println("==========================") | |
need_del_dir_list = make([]string, 0) | |
for _, tmp_dir := range all_empty_dir_list { | |
fmt.Println("remove:" + tmp_dir) | |
err := os.Remove(tmp_dir) | |
if err != nil { | |
log.Fatal(err) | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment