gpt4 book ai didi

windows - 在 go lang 中使用 exec.command 进行网络使用

转载 作者:数据小太阳 更新时间:2023-10-29 03:44:26 26 4
gpt4 key购买 nike

我需要使用 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.  

对我在这里做错了什么有帮助吗?

最佳答案

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,因此您不必加倍反斜杠。

关于windows - 在 go lang 中使用 exec.command 进行网络使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48087974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com