c++ - 从程序执行批处理文件

标签 c++ c windows batch-file

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

该函数正在调用批处理文件,但不幸的是新的命令窗口出现了,因为 execl 函数是进程启动并解析为“cmd.exe/k” .

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

最佳答案

不要使用start,而是使用cmd/c

预计到达时间:正如 Chris Jester-Young 在评论中指出的那样,这看起来像

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

在您的代码中。

预计到达时间 2:看起来您甚至不需要那里的 cmd。仅批处理文件作为命令就足够了。由于 start 有效并且 startcmd.exe 的内置命令,因此必须 cmd 正在运行以使您的原始调用生效。所以只要像执行程序一样执行批处理文件,这就足够了。

关于c++ - 从程序执行批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2177112/

相关文章:

c++ - 另一个 undefined reference 错误

c++ - 函数覆盖不同的返回类型

c - 在 c 中弃用了从字符串常量到 'char*' 的转换

c - 如何去掉vim中输入缓冲区的空格/回车?

python - PyAutoGui点击权限错误

c++ - 在 Linux 上以编程方式获取准确的 CPU 缓存层次结构信息

c++ - 链表c++,重载[],整体结构

c - 为什么 scanf 会有这样的 react ?

java - txt文件的读取输出有空格

windows - mylibrary.dll_unloaded 出现 BEX64 错误