github.com/mheon/docker@v0.11.2-0.20150922122814-44f47903a831/pkg/directory/directory_windows.go (about) 1 // +build windows 2 3 package directory 4 5 import ( 6 "os" 7 "path/filepath" 8 "strings" 9 10 "github.com/docker/docker/pkg/longpath" 11 ) 12 13 // Size walks a directory tree and returns its total size in bytes. 14 func Size(dir string) (size int64, err error) { 15 fixedPath, err := filepath.Abs(dir) 16 if err != nil { 17 return 18 } 19 fixedPath = longpath.AddPrefix(fixedPath) 20 err = filepath.Walk(dir, func(d string, fileInfo os.FileInfo, e error) error { 21 // Ignore directory sizes 22 if fileInfo == nil { 23 return nil 24 } 25 26 s := fileInfo.Size() 27 if fileInfo.IsDir() || s == 0 { 28 return nil 29 } 30 31 size += s 32 33 return nil 34 }) 35 return 36 }