我想从程序(exe文件)执行批处理文件。我通常在执行程序(exe文件)时创建批处理文件。并将execl(“START”,“”,NULL);
该函数正在调用批处理文件,但不幸的是,新的命令窗口显示为execl函数处理START并解析为“cmd.exe / k”
请您分享最简单的方法来调用在后台执行批处理文件的功能,如果可能请分享代码段。
答案 0 :(得分:1)
请勿使用start
,cmd /c
。
ETA:正如Chris Jester-Young在评论中指出的那样,这将是
execlp("cmd", "/c", batchfile, static_cast<char*>(0))
代码。
ETA 2 :您似乎甚至不需要cmd
。只需将批处理文件作为命令就足够了。由于start
有效且start
是cmd.exe
的内置命令,必须运行原始调用的cmd
实例工作。因此,只需执行批处理文件,就像它是程序一样,这应该足够了。