qt怎么在打包的时候一起打包bat文件

我把bat文件添加到了资源文件夹里面,这样行吗?但是我测试的时候运行不了这个bat文件,我使用的方法是用QProcess 来运行cmd,然后通过cmd再打开bat文件。我需要在qt项目打包成exe的时候也可以调用这些bat文件,我应该怎么做呢?

img

img

用qprocess的话都是用系统接口调用程序,但是这样是无法访问qrc里的资源的,qrc只有在qt库内部可以访问。
一个方法是不放在qrc资源里,打包的时候将bat文件和你的exe放在一起,然后在程序里用相对路径运行。
如果一定要用qrc,那么必须在运行时将资源里的文件复制到实际文件系统中,例如复制到temp目录,然后再用qprocess运行复制出来的bat文件。

要在Qt项目打包时包含bat文件,您需要在项目文件中添加它们,并在项目文件中设置它们的复制规则。

步骤:

在项目中添加bat文件
右键单击bat文件,选择“设置文件属性”
在“文件属性”对话框中,选择“复制”标签
在“复制到目标文件夹”下拉菜单中选择“资源”
确保“文件夹位置”是“目标文件夹”,点击确定。
在运行时,您可以使用相对于资源的路径访问bat文件,例如:

RunningBat(":/bat/fixDNS.bat",nullptr,true);

这样,在打包后的EXE文件中,您将可以访问并运行bat文件。

有用资源路径吗,像这个应该是:/bat/xxx.bat

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^