29 lines
388 B
Go
29 lines
388 B
Go
// +build windows
|
|
|
|
package files
|
|
|
|
import (
|
|
"os"
|
|
|
|
windows "golang.org/x/sys/windows"
|
|
)
|
|
|
|
func isHidden(fi os.FileInfo) bool {
|
|
fName := fi.Name()
|
|
switch fName {
|
|
case "", ".", "..":
|
|
return false
|
|
}
|
|
|
|
if fName[0] == '.' {
|
|
return true
|
|
}
|
|
|
|
wi, ok := fi.Sys().(*windows.Win32FileAttributeData)
|
|
if !ok {
|
|
return false
|
|
}
|
|
|
|
return wi.FileAttributes&windows.FILE_ATTRIBUTE_HIDDEN != 0
|
|
}
|