如何在 Go 中运行 .bat 文件

问题描述 投票:0回答:1

我似乎无法弄清楚为什么我在尝试在 go 中运行 bat 文件时遇到这么大的问题。 我的文件如下所示:

   cmd--
       |
       -----main.go
       |
       -----RUNNER.bat

我一直在尝试在main.go中运行

    cmd := exec.Command("./RUNNER.bat")
    if err := cmd.Run(); err != nil{
        log.Fatal(err)
    }

我得到的是退出状态 1。我知道 .bat 文件很好,因为如果我从普通的 cmd 运行它,它工作得很好

go
1个回答
3
投票

我不会直接执行 .bat,而是使用 CMD 来执行

.bat
脚本。

 command := exec.Command("CMD.exe","/C",`c:\full\path\to\script.bat`)

如评论所述,使用

filepath.Abs()
获取绝对路径。所述路径的结果字符串应使用系统分隔符
\

© www.soinside.com 2019 - 2024. All rights reserved.