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.

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

报告相同问题?

悬赏问题

  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 这种微信登录授权 谁可以做啊