使用go-lang将networking共享映射到Windows驱动器的最佳方法是什么? 此份额还需要用户名和密码。 一个类似的问题被要求为Python 什么是使用Python映射Windows驱动器的最佳方式?
到目前为止,Go还没有直接的方法来做到这一点。 我会建议使用net use
,这当然限制了Windows的功能,但这实际上是你所需要的。
因此,当您在Windows中打开命令提示符时,可以使用以下命令将网络共享映射到Windows驱动器:
net use Q: \\SERVER\SHARE /user:Alice pa$$word /P
Q:
表示你的Windows驱动器, \\SERVER\SHARE
是网络地址, /user:Alice pa$$word
是你的凭证, /P
是持久性的。
在Go中执行它看起来像这样:
func mapDrive(letter string, address string, user string, pw string) ([]byte, error) { // return combined output for std and err return exec.Command("net use", letter, address, fmt.Sprintf("/user:%s", user), pw, "/P").CombinedOutput() } func main() { out, err := mapDrive("Q:", `\\SERVER\SHARE`, "Alice", "pa$$word") if err != nil { log.Fatal(err) } // print whatever comes out log.Println(string(out)) }