本文目录一览:
1、关于C语言调用BAT文件的问题
2、如何用C语言创建一个批处理文件?
3、C语言中怎样调用批处理文件?
关于C语言调用BAT文件的问题
【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 stdlib.h
int main(int argc, char* argv[]) {
// 批处理命令中加上 pause 暂停看运行效果
system("cmd.exe /c \"D:\\test.bat\"");
system("explorer.exe \"D:\\test.bat\"");
// system("pause");
return 0;
}
如何用C语言创建一个批处理文件?
system("a.bat");
函数名: system
功能: 发出一个 DOS 命令
用法: int system(char *command);
程序例:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("About to spawn command.com and run a DOS command\n");
system("dir"); // 这里就是 DOS 下的 dir 命令
return 0;
}
C语言中怎样调用批处理文件?
你的认知是错的,让我来纠正你:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
system("start test.bat");
// test.bat 是要调用的 bat 文件
}
首先,两个头文件,你的代码风格很糟糕;然后把你的 C 程序和批处理程序放在同一目录下。
system
是调用一个 DOS 指令,你到底学的什么 ←_←