从程序中执行批处理文件

时间:2010-02-01 13:58:18

标签: c++ c windows batch-file

我想从程序(exe文件)执行批处理文件。我通常在执行程序(exe文件)时创建批处理文件。并将execl(“START”,“”,NULL);

该函数正在调用批处理文件,但不幸的是,新的命令窗口显示为execl函数处理START并解析为“cmd.exe / k”

请您分享最简单的方法来调用在后台执行批处理文件的功能,如果可能请分享代码段。

1 个答案:

答案 0 :(得分:1)

请勿使用startcmd /c

ETA:正如Chris Jester-Young在评论中指出的那样,这将是

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

代码。

ETA 2 :您似乎甚至不需要cmd。只需将批处理文件作为命令就足够了。由于start有效且startcmd.exe的内置命令,必须运行原始调用的cmd实例工作。因此,只需执行批处理文件,就像它是程序一样,这应该足够了。