使用 C++ 执行 CMD 命令

Posted

技术标签:

【中文标题】使用 C++ 执行 CMD 命令【英文标题】:Execute CMD commands using C++ 【发布时间】:2015-09-20 23:45:26 【问题描述】:

在我的项目中,我想执行一些 CMD 命令。使用 C++ 执行此操作的语法是什么。

【问题讨论】:

查找system()函数。 【参考方案1】:

您可以使用名为 system(); 的 C++ 函数执行 Windows 命令提示符命令。 为了更安全的标准,建议您使用 Windows 特定的 API,例如 ShellExecuteShellExecuteEx。下面是使用system()函数运行CMD命令的方法。

您应该在程序源代码中放置如下所示的 CMD 命令:

system("CMD_COMMAND");

这是一个在 CMD 中执行 DATE 命令来查找日期的程序:

#include <iostream>
using namespace std;

int main() 
    system("DATE");
    return 0;

【讨论】:

系统是邪恶的,不安全的,来自 C - 使用更新的方法。 [1] ***.com/questions/1107705/systempause-why-is-it-wrong [2] cplusplus.com/forum/articles/11153【参考方案2】:

使用 Windows 特定的 API:

ShellExecute 或 ShellExecuteEx CreateProcess

See this 也是。

【讨论】:

【参考方案3】:

我想你总是可以这样做的:

#include <iostream>
#include <windows.h>

using namespace

int main()

    WinExec("cmd", 1);
    return 0;

但是,这会自动设置文件所在文件夹的路径。只需键入 cd\ 即可返回到基本文件。

【讨论】:

难道不是 WinExec deprecated 因此使用不明智吗?

以上是关于使用 C++ 执行 CMD 命令的主要内容,如果未能解决你的问题,请参考以下文章

windows下C与C++执行cmd命令并实时获取输出

windows下C与C++执行cmd命令并实时获取输出

windows下C与C++执行cmd命令并实时获取输出

如何使用 CreateProcess 在 cmd 中执行命令?

从代码执行 CMD 命令

c++内调用命令行 不支持中文路径