从程序执行batch file

我想从程序(exe文件)执行batch file。 我通常在程序(exe文件)执行时创buildbatch file。 并将execl(“START”,“”,NULL);

该函数正在调用batch file,但不幸的是,新的命令窗口正在显示,因为execl函数是处理START并parsing为“cmd.exe / k”。

你可以请共享最简单的方法来调用在后台执行batch file的function,如果可能的话,请分享代码片段。

不要使用startcmd /c

ETA:正如Chris Jester-Young在评论中所指出的,这样看起来就像

 execlp("cmd", "/c", batchfile, static_cast<char*>(0)) 

在你的代码中。

ETA 2:看起来你甚至不需要cmd 。 只要批处理文件作为命令就足够了。 由于start工作并startcmd.exe的内置命令,因此必须有一个运行cmd的实例,以便您的原始调用能够正常工作。 所以只要执行批处理文件就好像它是程序一样,这应该就足够了。