Qt 运行.bat执行文件

经常使用第三方工具的.bat 文件 主要运用到QProcess
代码如下:
QProcess p(nullptr);
QString workDir= “D:/AAA/DeepDiagnosis/src”;
p.setWorkingDirectory(workDir); //设置工作文件夹
QString batfile="/start_predict.bat"; //分析启动程序
QString filePath=workDir+batfile; //执行文件的路径
p.start(filePath); //开始
if(p.waitForFinished()){
qDebug()<<“success”;
}else{
qDebug()<<“error”;
qDebug()<<p.errorString();
}

注意 这种写法不适用与路径中间有空格 比如 D:/Team File/xxx.bat 由于转译会导致出错。报警找不到该文件

解决办法1; 不要放在路径有空格的下面
解决办法2:
解决调用程序不能带有空格的问题。
2.1 使用使用空参数(arguments)的start接口

接口:

void start(const QString &program, 
           const QStringList &arguments, 
           QIODevice::OpenMode mode)

示例:

QProcess process;
process.start("C:/Users/Tmp/Test Demo.exe", QStringList());

2.2 配合转义\字符的start接口

接口:

void start(const QString &command, QIODevice::OpenMode mode)
示例:
QProcess process;
process.start("\"C:/Users/Tmp/Test Demo.exe\"");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值