gpt4 book ai didi

windows - 带有双引号参数的 exec

转载 作者:IT王子 更新时间:2023-10-29 01:19:58 28 4
gpt4 key购买 nike

我想使用 exec 包执行 find Windows 命令,但 Windows 正在做一些奇怪的转义。

我有这样的东西:
out, err := exec.Command("find", `"SomeText"`).输出()

但这是抛出错误,因为 Windows 正在将其转换为
找到/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然而。 (虽然也许我只是不知道去哪里看。)

关于windows - 带有双引号参数的 exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28954729/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com