使用go-lang将网络共享映射到Windows驱动器的最佳方法是什么?此共享还需要用户名和密码。 类似的问题被问到python What is the best way to map windows drives using Python?
答案 0 :(得分:0)
截至目前,在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))
}