我想使用exec包执行find
Windows命令,但是
Windows正在做一些奇怪的转义.
我有类似的东西:
out,err:= exec.Command(“find”,“SomeText”`).输出()
但这是抛出错误,因为Windows正在将其转换为
find / SomeText“
有谁知道为什么?如何使用exec包在windows上执行find?
谢谢!
好吧,它比你想象的要复杂一些,但有一个解决方案:
package main import ( "fmt" "os/exec" "syscall" ) func main() { cmd := exec.Command(`find`) cmd.SysProcAttr = &syscall.SysProcAttr{} cmd.SysProcAttr.CmdLine = `find "SomeText" test.txt` out,err := cmd.Output() fmt.Printf("%s\n",out) fmt.Printf("%v\n",err) }
不幸的是,although support for this was added in 2011,它似乎还没有进入the documentation. (虽然也许我只是不知道在哪里看.)