[英]Golang exec.Command error on Windows due to double quote
[英]exec.command does not execute on windows (golang)
我试图让 wget 将文件下载到临时目录中,然后将其移动到适当的路径。 我正在尝试使用以下代码:
// run shell `wget <URL> -O <FILEPATH>`
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)
另请参阅此对类似问题的回答
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.