在C程序中打开批处理文件(.bat)?

时间:2011-07-13 13:03:50

标签: c gcc batch-file

如何从C程序开始运行批处理文件(.bat)?我用了

system("start /B omanam.bat");

但它不起作用。如何让.bat通过C打开?

2 个答案:

答案 0 :(得分:5)

放弃start。这是一个cmd.exe的东西。只需运行system("omanam.bat");

答案 1 :(得分:-1)

如果您的C可执行程序和批处理文件在同一目录中,那么

system("batchfilename.bat arg1 arg2");

其中arg1arg2是此批处理文件的参数。


如果批处理文件在另一个目录中

 system("f:\\bin\\batchfilename.bat arg1 arg2");

其中arg1arg2是此批处理文件的参数。


C代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{

  printf("Calling batch file doit.bat\n");
  system("doit Hello. theansweris: 42");
  printf("Press \'Enter\' to exit the program\n");
  getchar();
  return 0;
}

批处理文件代码:

@rem This is the batch file doit.bat
@echo.
@echo.
@echo.
@echo In doit.bat:
@echo.
@echo.
@echo.
@echo argument #1 is ^"%1^"
@echo argument #2 is ^"%2^"
@echo argument #3 is ^"%3^"
@echo.
@echo.
@echo Tttttthat's all, folks!
@echo.
@echo.