// +build windows package directory import ( "os" "path/filepath" ) // Size walks a directory tree and returns its total size in bytes. func Size(dir string) (size int64, err error) { err = filepath.Walk(dir, func(d string, fileInfo os.FileInfo, e error) error { // Ignore directory sizes if fileInfo == nil { return nil } s := fileInfo.Size() if fileInfo.IsDir() || s == 0 { return nil } size += s return nil }) return }