登录
首页 >  Golang >  Go问答

golang在Windows上运行exec.command失败

来源:stackoverflow

时间:2024-02-29 17:51:21 391浏览 收藏

大家好,我们又见面了啊~本文《golang在Windows上运行exec.command失败》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

我试图让 wget 将文件下载到临时目录中,然后将其移动到适当的路径。我正在尝试使用下面的代码:

// run shell `wget  -O `
    cmd := exec.Command("cmd /K wget", url, "-O", "temp/" + filepath, "&& echo Done downloading, moving... '&&' del -y", filename,"'&&' mv temp/", filename, filename)
    cmd.Stdout = os.Stdout
    cmd.Stderr = os.Stderr
    return cmd.Run()
}

但是当调用时,它不会输出任何内容。没有错误,什么都没有。


解决方案


如果你真的想保留这个解决方案(缺点已经在评论中指出),你需要将每个参数分隔到 cmd.exe,所以在任何地方你都会放置一个空格,你有一个单独的参数:

cmd := exec.Command("cmd", "/K", "wget", url, "-O", "temp/" + filepath, "&&", "echo", "Done downloading, moving...", "&&", "del", "-y", filename, "&&", "mv", "temp/" + filename, filename)

另请参阅 this answer 的类似问题

好了,本文到此结束,带大家了解了《golang在Windows上运行exec.command失败》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>