关于C语言调用BAT文件的问题

2024-11-19 06:32:28
推荐回答(5个)
回答1:

【system()函数】

system 是执行一条命令(系统path下搜索到可执行程序),你不能直接给一个文件路径让它去执行

windows 命令行程序中 默认会把文件 送给 explorer.exe 去执行 ShellExecute 或者 ShellExecuteEx


【解决方法】所以你必须把执行 *.bat 或者 *.cmd 写成命令形式:

system("cmd.exe /c \"D:\\test.bat\""); 
system("explorer.exe \"D:\\test.bat\"");

【附】先写一个批处理文件 test.bat 放到路径 d:\ 下

/*
 *  d:\test.bat
 *
 *  @echo hello cmd
 *  @pause
 *
 */

然后 运行一下 C/C++代码(已在 mingw gcc 下 调试通过)

#include 

int main(int argc, char* argv[]) {
    //批处理命令中加上 pause 暂停看运行效果

    system("cmd.exe /c \"D:\\test.bat\"");
    system("explorer.exe \"D:\\test.bat\"");

    //system("pause");
    return 0;
}

回答2:

.bat文件" highlight="true">bat文件一般是指windows平台的批处理文件。

在C语言中调用批处理文件,一般有两种方式:
1、使用system()函数,直接调用。示例代码如下:

  #include
  main()
  {
  system("test.bat"); //test.bat是要调用的bat文件。
  }

2、使用Windows相关的API函数来调用 ,比如CreateProcess()、CreateThread()、ShellExecuteEx()等API函数直接创建进程或线程来运行批处理文件。

回答3:

用shellExecute吧

回答4:

win+r

回答5:

bmp不是图片吗?