c - 如何使用 C 在 Windows 中执行批处理 (.bat) 文件

标签 c windows batch-file cygwin clion

我需要用 C 编写一些可以在 Windows 上执行 .bat 文件的程序。

当然,我们应该想到 system() 函数。然而,有一个huge issue 。基本上,函数 system() 不会被执行。

我尝试过的事情:

1) 从 Cygwin 终端编译并运行我的代码确实有效,但是,这并不是真正可行,因为我需要将我的程序移动到不同的 PC,并且必须在每台 PC 中安装 Cywind 只是一个坏主意.

2) 我尝试 cd 到 C:\Windows\System32\ 但仍然不起作用。

3)我尝试过使用popen(),但仍然无法工作。

4) 难道是因为我使用的编译器:CLion 上的 Cywin64?但即使我将环境更改为 Windows Subsystem for Linux,它仍然不起作用!

此时,我已经失去了很多脑细胞,几乎已经放弃了。

在尝试了所有方法之后,我认为原因是 system() 会尝试从 /bin/sh 运行命令,而从正常的 cmd 控制台窗口或 system() 完全损坏了。此外,不仅运行批处理,几乎任何其他 cmd 命令都不起作用。哎呀,连 ls 都不起作用。

谷歌搜索根本没有帮助。

我真正想要的是在 C 程序中执行 .bat 文件。基本上就可以了有什么建议吗?

最佳答案

关于c - 如何使用 C 在 Windows 中执行批处理 (.bat) 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55578983/

相关文章:

c - 如何使用 C 连接到 FTP?

c - 用c画正弦波?

c - 拦截winsock recvfrom函数给出无效地址错误

c++ - OpenGL:如何自动选择正确的 mipmap 方法?

即使为每个人设置了权限,Java 也无法创建文件,除非管理员

batch-file - 通过 plink 向 Cisco CLI 传递多个命令时出错

windows - 如何使用 WinRAR 创建 ZIP 文件,ZIP 文件的名称是当前文件夹的名称?

html - Windows 批处理/解析来自 html 网页的数据

c - 如何获取字母或整数的输入?

c++ - 在枚举中重新声明变量