| 124 | } |
| 125 | |
| 126 | func check_virtual() (bool, error) { // 识别虚拟机 |
| 127 | model := "" |
| 128 | var cmd *exec.Cmd |
| 129 | cmd = exec.Command("cmd", "/C", "wmic path Win32_ComputerSystem get Model") |
| 130 | stdout, err := cmd.Output() |
| 131 | if err != nil { |
| 132 | return false, err |
| 133 | } |
| 134 | model = strings.ToLower(string(stdout)) |
| 135 | if strings.Contains(model, "VirtualBox") || strings.Contains(model, "virtual") || strings.Contains(model, "VMware") || |
| 136 | strings.Contains(model, "KVM") || strings.Contains(model, "Bochs") || strings.Contains(model, "HVM domU") || strings.Contains(model, "Parallels") { |
| 137 | return true, nil //如果是虚拟机则返回true |
| 138 | } |
| 139 | return false, nil |
| 140 | } |
| 141 | func PathExists(path string) (bool, error) { |
| 142 | _, err := os.Stat(path) |
| 143 | if err == nil { |