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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵