empty-dir/empty-dir.go
2025-03-15 11:19:19 +08:00

45 lines
706 B
Go

package main
import (
"os"
"path/filepath"
"strings"
)
func emptyDir(p string) {
files, err := os.ReadDir(p)
if err != nil && strings.Contains(err.Error(), "Access is denied") {
remindErr(err)
return
}
PanicErr(err)
defer func() {
remainFiles, e := os.ReadDir(p)
PanicErr(e)
if len(remainFiles) == 0 {
e = Rm(p)
remindErr(e)
}
}()
for _, file := range files {
filePath := filepath.Join(p, file.Name())
if !file.IsDir() {
if strings.HasPrefix(file.Name(), "._") && IsMacMetaFile(filePath) {
err = Rm(filePath)
remindErr(err)
} else if file.Name() == ".DS_Store" {
err = Rm(filePath)
remindErr(err)
}
continue
}
emptyDir(filePath)
}
}