如何在Google Golang中获取Windows的系统根目录?

时间:2016-12-21 03:07:03

标签: windows go

在Windows下,系统根目录可能类似于C://D://(当操作系统安装在驱动程序D:/中时)。如何在Go中获取此文件夹?

3 个答案:

答案 0 :(得分:2)

您可以使用filepath.VolumeName(os.GetEnv("SYSTEMROOT")) + "\\"或更短的os.GetEnv("SYSTEMDRIVE") + "\\"windir环境变量可能不应该被诚实地使用,因为它不是系统控制的环境变量。

Source for the mentioned environment variables

答案 1 :(得分:1)

您可以使用os.Getenv获取“environment”变量windir的值。一个例子如下:

package main
import "os"
import "fmt"


func main() {

    fmt.Println("system dir: ", os.Getenv("windir"))

}

答案 2 :(得分:0)

以下是一些适用于 Windows 或 Unix 的选项。

import "os"

func root() string {
   return os.Getenv("SystemDrive") + string(os.PathSeparator)
}
import (
   "os"
   "path/filepath"
)

func root() string {
   s := os.TempDir()
   return filepath.Join(s, "..", "..")
}
import (
   "os"
   "strings"
)

func root() string {
   s := os.TempDir()
   return s[:strings.IndexRune(s, os.PathSeparator) + 1]
}
import (
   "os"
   "path/filepath"
)

func root() string {
   s := os.TempDir()
   return filepath.VolumeName(s) + string(os.PathSeparator)
}
import (
   "os"
   "strings"
)

func root() string {
   s := os.TempDir()
   return strings.SplitAfterN(s, string(os.PathSeparator), 2)[0]
}