如何使用Go语言将网络共享映射为Windows驱动器?此共享还要求输入用户名和密码。Python也曾有相似的问题What is the best way to map windows drives using Python?
如何使用Go语言将网络共享映射为Windows驱动器?此共享还要求输入用户名和密码。Python也曾有相似的问题What is the best way to map windows drives using Python?
目前在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))
}