mirror of
https://gitee.com/wanwujie/sub2api
synced 2026-04-24 16:44:45 +08:00
29 lines
442 B
Go
29 lines
442 B
Go
|
|
package service
|
||
|
|
|
||
|
|
import (
|
||
|
|
"os"
|
||
|
|
"path/filepath"
|
||
|
|
)
|
||
|
|
|
||
|
|
func dirSize(root string) (int64, error) {
|
||
|
|
var size int64
|
||
|
|
err := filepath.WalkDir(root, func(path string, d os.DirEntry, err error) error {
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
if d.IsDir() {
|
||
|
|
return nil
|
||
|
|
}
|
||
|
|
info, err := d.Info()
|
||
|
|
if err != nil {
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
size += info.Size()
|
||
|
|
return nil
|
||
|
|
})
|
||
|
|
if err != nil && os.IsNotExist(err) {
|
||
|
|
return 0, nil
|
||
|
|
}
|
||
|
|
return size, err
|
||
|
|
}
|