package system import ( "path/filepath" "strings" ) // DefaultSystemVolumeName is the default system volume label on Windows const DefaultSystemVolumeName = "C:" // IsAbsolutePath prepends the default system volume label // to the path that is presumed absolute, and then calls filepath.IsAbs func IsAbsolutePath(path string) bool { path = filepath.Clean(path) if strings.HasPrefix(path, "\\") { path = DefaultSystemVolumeName + path } return filepath.IsAbs(path) } // GetAbsolutePath returns an absolute path rooted // to C:\\ on Windows. func GetAbsolutePath(path string) string { path = filepath.Clean(path) if len(path) >= 2 && strings.EqualFold(path[:2], DefaultSystemVolumeName) { return path } return DefaultSystemVolumeName + path }