我需要使用go在Windows中映射驱动器,并发现此链接很有用 What is the best way to map windows drives using golang?
当我尝试使用此处给出的代码时,我遇到了此错误
exec: "net use": executable file not found in %PATH%
我验证了go的bin文件夹在PATH变量中。我也试过像
那样运行它cmd, err := exec.Command("cmd", "/c", "NET USE", "T:", \\SERVERNAME\C$, "/PERSISTENT").CombinedOutput()
但是我收到了这个错误:
exit status 1 You used an option with an invalid value.
我在这里做错了什么帮助?
答案 0 :(得分:1)
exec.Command()
的每个参数都用作单个参数,所以:
exec.Command(... "NET USE", ..)
意味着NET USE
作为单个参数传递,这与从命令行执行此操作相同:
cmd /c "net use"
这意味着它会尝试查找net use.exe
,而不是将参数use
传递给net.exe
。
所以正确的方法是:
exec.Command("cmd", "/c", "net", "use", "Q:, `\\SERVER\SHARE`, "/user:Alice pa$$word", "/P")
cmd /c
部分可能不需要,但我没有Windows机器可以验证。
另请注意我对`
而不是\\SERVER\SHARE
使用反引号("
)的方式,因此您不必将反斜杠加倍。