Windows 在golang中,当程序通过双击启动exe时,如何保持控制台窗口打开

Windows 在golang中,当程序通过双击启动exe时,如何保持控制台窗口打开,windows,go,Windows,Go,在windows中启动时双击.exe 当程序由os完成时,退出(…) 那么,是否有任何方法可以保持控制台窗口打开,就像自动运行cmd命令一样。 我不想要一些暂停的解决方案或其他东西让它等待关闭。我需要退出程序,并保持控制台窗口 顺便说一句,我想用某种方法打开另一个控制台窗口,但是失败了 c:=exec.Command(“start”) 如果错误:=c.Run();呃!=零{ fmt.Println(“错误:”,错误) } 退出(0)如果需要程序完全退出,但保持窗口打开,请从控制台运行程序 wi

在windows中启动时双击.exe 当程序由os完成时,退出(…) 那么,是否有任何方法可以保持控制台窗口打开,就像自动运行cmd命令一样。 我不想要一些暂停的解决方案或其他东西让它等待关闭。我需要退出程序,并保持控制台窗口

顺便说一句,我想用某种方法打开另一个控制台窗口,但是失败了

c:=exec.Command(“start”)
如果错误:=c.Run();呃!=零{
fmt.Println(“错误:”,错误)
}

退出(0)
如果需要程序完全退出,但保持窗口打开,请从控制台运行程序

  • win+r
  • 键入
    cmd
  • 进入
  • 导航到二进制文件所在的文件夹,使用
    cd myFolder
    移动到文件夹中,使用
    cd..
    向上移动一个文件夹
  • 通过键入
    /myBinary.exe
    并按enter键运行二进制文件
  • 二进制文件完成运行,控制台保持打开状态
  • 编辑:
    为了能够双击,在批处理文件中使用“暂停”是最简单的解决方案:

    发射蝙蝠

    ./myBinary.exe
    pause
    
    将其保存在与binary相同的文件夹中,然后双击以运行

    如果您真的愿意,您可以用自己选择的语言编写一个程序,它可以执行与批处理文件相同的操作

    顺便说一句,我想用某种方法打开另一个控制台窗口,但是失败了 代码

    如果使用cmd.exe处理器使用/k选项运行_executable.exe,则应运行可执行文件并保持控制台打开

    cmd.exe /k your_executable.exe
    

    您可以调用
    fmt.Scanf()
    。我知道这是一种黑客行为,你不想在生产应用程序中使用它,但它是有效的

    package main
    
    import "fmt"
    
    func main() {
        fmt.Printf("hello, world\n")
        fmt.Scanf("h")
    }
    

    您可以先启动控制台窗口(cmd),然后在其中运行.exe。为什么?解决问题可能比修复您试图解决的问题@go-php-2016更容易,因为这是项目的需要。我知道您启动程序的正常方式。而且,我们可以讨论,是否有自动生成此bat文件的方法或其他方法?