QT应用在windows系统下调用bat脚本的坑 您所在的位置:网站首页 qt运行bat QT应用在windows系统下调用bat脚本的坑

QT应用在windows系统下调用bat脚本的坑

2024-01-28 15:06| 来源: 网络整理| 查看: 265

QT应用在windows系统下调用bat脚本,居然报错了。 该BAT脚本,是用来检查svn.exe这个命令行工具,是否在当前系统里存在。在cmd终端里,一直是可正常执行的。但是在windows7家庭中文版操作系统下,使用QT应用的QProcess来调用返回值就始终不对。 同样的应用可执行文件和bat脚本,在windows7旗舰版和windows10家庭中文版下运行正常! 调试了一段时间,始终没有找到根本原因。最后,使用替换的方法,直接使用如下代码,不再调用bat脚本。  

QProcess process; QString cmdString; int retValue; cmdString = "cmd.exe /c svn.exe help >nul"; retValue = process.execute(cmdString);

以上代码,在windows7旗舰版/windows7家庭中文版/windows10家庭中文版下都测试正常。当前系统下,svn.exe存在时,retValue为0;svn.exe不存在时,返回1。

总结: 1. 以上实现方法,也是在QT应用里检查当前系统是否已安装某命令工具的方式之一; 2. windows命令cmd.exe /c的使用详细信息,请另行查询;

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有