go - 包含另一个 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(???) 执行它
解决方案
推荐阅读
- javascript - 为什么 lodash 将我的数组转换为对象?
- google-analytics - 谷歌分析失去了转化
- maven - 跳过不存在的资源目录 - Maven
- python - 字典没有“定向”属性
- bash - bash-compl 和 bash-completion:没有这样的文件或目录
- cassandra - Cassandra 中多租户数据库的推荐方法是什么?
- javascript - 渲染时按顺序敲击
- ubuntu - gtkada-2018 Ubuntu-18.04.1 上的 Adacore 安装问题
- c - 如何动态地将内存分配给结构内的指针数组
- r - 使用闪亮的 r 启动一个重度使用的网络应用程序