Qt执行bat批处理文件

1、先在桌面创建一个bat文件,内容:calc.exe

2、用qt进程Qprocess去调用执行bat脚本文件

3、运行qt程序

 

代码如下

#include "QtUse_bat.h"
#include <QtCore/QProcess>  //引入进程头文件
#include <QString>
QtUse_bat::QtUse_bat(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    QProcess* process = new QProcess();
    process->setWorkingDirectory("C:/Users/Administrator/Desktop");
    QString commed = "C:/Users/Administrator/Desktop/qwe.bat";
    process->start(commed);
    process->waitForFinished();
}

QtUse_bat::~QtUse_bat()
{}

运行效果

 

### 使用 Qt 实现向指定路径的 BAT 文件写入特定内容 为了实现在 Qt 中创建并写入 .bat 文件,可以利用 `QFile` 和 `QTextStream` 类来处理文件操作。下面是一个完整的例子展示如何完成这一功能。 #### 创建和写入BAT文件 ```cpp #include <QCoreApplication> #include <QFile> #include <QTextStream> void writeBatFile(const QString &filePath, const QStringList &commands) { QFile file(filePath); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) return; QTextStream out(&file); foreach (const QString &command, commands) { out << command << "\n"; } file.close(); } ``` 此函数接收两个参数:一个是目标 `.bat` 文件的位置字符串;另一个是要执行命令列表[^1]。 对于具体的应用场景来说,假设要设置临时环境变量启动 VS 2017 并保存到桌面的一个名为 `start_vs.bat` 的批处理文件中,则可以通过如下方式调用上述方法: ```cpp int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QString batFilePath = "C:/User/Desktop/start_vs.bat"; // 修改为你自己的路径 QStringList vsCommands; vsCommands.append("set QTDIR=F:\\SoftwareInstalling\\Qt\\Qt5.13.0\\5.13.0\\msvc2017"); vsCommands.append("set Path=%Path%;%QTDIR%\\bin;"); vsCommands.append("start \"\" \"D:\\Users\\username\\Desktop\\Visual Studio 2017.lnk\""); vsCommands.append("call"); writeBatFile(batFilePath, vsCommands); return a.exec(); } ``` 这段代码会生成一个包含给定指令序列的新批处理脚本,并将其放置于指定位置上。 通过这种方式可以在应用程序运行期间动态地构建批处理文件,从而满足不同情况下自定义配置的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值