首页 > 解决方案 > 包含另一个 exe 的 Golang Embed 文件夹

问题描述

我有以下项目结构。

项目 1 - golang 项目二进制文件。和主要项目。

在此处输入图像描述

我想在主项目中嵌入 project1 目录并调用该项目中存在的 exe。

package main

import (
    "embed"
    "fmt"
    "log"
    "os/exec"
)

//go:embed Project1
var contentofproject1 embed.FS

func main() {

    entries, err := contentofproject1.ReadDir(".")
    if err != nil {
        log.Panicf("failed reading directory: %s", err)
    }

    for i := 0; i < len(entries); i++ {
        fmt.Println(entries[i].Name())
        fmt.Println(entries[i].IsDir())
    }

    out, err := exec.Command("cmd", "/C", "Project1\\main.exe").Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("The date is %s\n", out)

}

但是当我创建二进制文件并移动到其他位置时,这不起作用。

如何访问嵌入在 go binary 目录中的 exe?我可以嵌入一个包含 .net exe 和支持 dll 的目录并使用 exec.Command(???) 执行它

标签: go

解决方案


推荐阅读