Files
docker-machine/libmachine/mcnutils/os_windows.go
T
David Gageot 7b638738cc Try multiple commands to find windows version
Signed-off-by: David Gageot <david@gageot.net>
2015-12-21 16:19:01 +01:00

37 lines
689 B
Go

package mcnutils
import (
"os/exec"
"strings"
)
func LocalOSVersion() string {
command := exec.Command("ver")
output, err := command.Output()
if err == nil {
return parseVerOutput(string(output))
}
command = exec.Command("systeminfo")
output, err = command.Output()
if err == nil {
return parseSystemInfoOutput(string(output))
}
return ""
}
func parseSystemInfoOutput(output string) string {
lines := strings.Split(string(output), "\n")
for _, line := range lines {
if strings.HasPrefix(line, "OS Version") {
return strings.TrimSpace(line[len("OS Version:"):])
}
}
return ""
}
func parseVerOutput(output string) string {
return strings.TrimSpace(output)
}