加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 带双引号参数的exec

发布时间:2020-12-13 21:33:08 所属栏目:Windows 来源:网络整理
导读:我想使用exec包执行find Windows命令,但是 Windows正在做一些奇怪的转义. 我有类似的东西: out,err:= exec.Command(“find”,“SomeText”`).输出() 但这是抛出错误,因为Windows正在将其转换为 find / SomeText“ 有谁知道为什么?如何使用exec包在windows
我想使用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("%sn",out)
    fmt.Printf("%vn",err)
}

不幸的是,although support for this was added in 2011,它似乎还没有进入the documentation. (虽然也许我只是不知道在哪里看.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读