dongwuying0221 2018-01-04 02:46 采纳率: 0%
浏览 377

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

I have a requirement to map the drives in Windows using go and found this link to be useful What is the best way to map windows drives using golang?

When I tried to use the code given here, I ran into this error

exec: "net use": executable file not found in %PATH% 

I verified that the bin folder of go is in the PATH variable. I also tried by running it like

cmd, err := exec.Command("cmd", "/c", "NET USE", "T:", \\SERVERNAME\C$, "/PERSISTENT").CombinedOutput()  

but I get this error:

exit status 1 You used an option with an invalid value.  

Any help on what I'm doing wrong here ?

  • 写回答

1条回答 默认 最新

  • dongxiangshen7916 2018-01-04 02:55

    Every argument to exec.Command() is used as a single argument, so:

    exec.Command(... "NET USE", ..)

    Will mean that NET USE is passed as a single argument, which is the same as doing this from the command line:

    cmd /c "net use"

    Which means it will try to find net use.exe, instead of passing the argument use to net.exe.

    So the correct way is:

    exec.Command("cmd", "/c", "net", "use", "Q:, `\\SERVER\SHARE`, "/user:Alice pa$$word", "/P")

    The cmd /c part probably isn't needed, but I don't have a Windows machine to verify.

    Also note how I used backticks (`) for \\SERVER\SHARE instead of ", so you don't have to double up the backslashes.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?



  • ¥15 数学建模——参会安排怎么做
  • ¥15 电脑键盘实现触摸功能
  • ¥25 matlab无法将表达式转换为双数组怎么解决?
  • ¥15 单片机汇编语言相关程序
  • ¥20 家用射频美容仪技术规格
  • ¥15 大家帮我看看为什么错了
  • ¥15 unity互动琴弦抖动效果
  • ¥15 做了个的二极管反向饱和电流测量电路,但是测试达不到效果
  • ¥15 nginx无证书访问https失败
  • ¥15 树莓派启动AP热点传入数据