首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c++中使用批处理文件?

如何在c++中使用批处理文件?
EN

Stack Overflow用户
提问于 2009-09-25 15:59:07
回答 6查看 49.7K关注 0票数 13

我的目标:我想做一个可以使用DOS命令的c++程序。

选项:我可以创建一个批处理文件,并将DOS命令放入其中。但是我不知道如何从c++程序中使用这个文件?

EN

回答 6

Stack Overflow用户

发布于 2009-09-25 16:13:33

有两个选项可用于在Windows上从C/C++运行批处理文件。

首先,您可以使用system (或_wsystem表示宽字符)。

“系统函数将命令传递给命令解释程序,命令解释程序将字符串作为操作系统命令执行。系统引用定位命令解释程序文件(在Windows2000和更高版本中名为CMD.EXE的文件)的COMSPEC和PATH环境变量。”

或者,您可以直接使用CreateProcess

请注意,对于批处理文件:

“要运行批处理文件,必须启动命令解释程序;将lpApplicationName设置为cmd.exe,并将lpCommandLine设置为以下参数: /c加上批处理文件的名称。”

票数 15
EN

Stack Overflow用户

发布于 2009-09-25 16:02:10

代码语言:javascript
复制
system("mybatchfile.bat");

system() reference

票数 13
EN

Stack Overflow用户

发布于 2011-05-28 10:23:07

代码语言:javascript
复制
//example that makes and then calls a batch file

#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;

int main(int argc, char *argv[])
{
    ofstream batch;
    batch.open("mybatchfile.bat", ios::out);

    batch <<"@echo OFF\n";
    batch <<":START\n";
    batch <<"dir C:\n";
    batch <<"myc++file 2 >nul\n";
    batch <<"goto :eof\n";

    batch.close();

    if (argc == 2)
    {
        system("mybatchfiles.bat");
        cout <<"Starting Batch File...\n";
    }
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1478171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档