永发信息网

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

答案:4  悬赏:50  手机版
解决时间 2021-03-29 22:26
关于C语言调用BAT文件的问题
最佳答案
bat文件一般是指windows平台的批处理文件。

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

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

2、使用Windows相关的API函数来调用 ,比如CreateProcess()、CreateThread()、ShellExecuteEx()等API函数直接创建进程或线程来运行批处理文件。
全部回答
bmp不是图片吗?追问嗯,使用批处理文件打开一个图片,单独运行时能打开,但是先用C调用这个批处理,就打不开了..说错误..不知道怎么搞的追答那个bat的路径加进去啊改成c:\xx.bat追问
就是这个样子,但是单独运行那个批处理文件时就能成功..怎么回事追答不清楚。
用shellExecute吧

【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: 下
然后 运行一下 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;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
江烟洗尽柳条轻猜三个数字
山不在高有仙则名水不在深有龙则灵在文中起什
功放机后面有0,16,70.110.0.z1.z2.z3.z4.z5
蚂蚁花呗额度怎么从500提升到5000?
我是卖瓷砖的,瓷砖销售技巧和话术有哪些
周朝的什么最珍贵用于人名
新手PHP求解决!!!
怎么用Serv-U搭建FTP服务器
2011欧洲冠军杯决赛
从今以后我走在十字街头是什么歌
跟车送货那些叫什么职位啊!
《紫薇诗》杜紫薇写的
美甲店充值折扣卡,对于商家利大还是弊大?有
龙腾盛世四个字用繁体字怎么写
钱氏光明自远耀后还有什么辈分
推荐资讯
猜成语一大群人和一堵墙
说尽心中无限事(打一近代皇帝)
我投的人寿保险重大疾病险,保费到期了想再晚
魏延能镇守汉中而阻挡曹魏,那么若魏延替换关
有做川音附中舞蹈集训班的机构吗?
2017东风本田crv尊耀版360能当行车记录仪吗
求大神告诉我 这tm到底怎么回事 怎么解除 这
潍坊奎文区在什么地方办理个体工商户营业执照
顾亭林为了重兴祖国,做了哪些事
欧罗芭地址好找么,我有些事要过去,
命宫的查法
信用卡到期后寄来两张新的卡免费分开算吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?