自制Qt清除工作,清理.obj .cpp .h等临时文件

如标题,进行项目清理步骤,使用Qt自带的构建步骤完成功能

在cmd下输入以下指令可以清理相应的文件:

for \r %%i in (*.obj,*.cpp,*.h,*.exp,*.user,*.aps,*.idb,*.dep,*.opt,*.plg,*.ipdb,*.ilk,*.iobj,clean.cmd) do del \s \f \q "%%i"

如果直接在构建步骤中添加,编译时会有如下提示:

12:16:58: 无法启动进程"for \r %%i in (.obj,.cpp,.h,.exp,.user,.aps,.idb,.dep,.opt,.plg,.ipdb,.ilk,*.iobj,clean.cmd) do del \s \f \q “%%i”"
Error while building/deploying project TestUI_Alg (kit: Qt5.12.4_MSVC2017_64bit)
When executing step “自定义进程步骤”

所以需要将该方法打包成 bat 或者 exe 的方式,以下演示bat和exe两种方式。

bat 方式清理文件

1.将for /r %%i in (.obj,.cpp,.h,.exp,.user,.aps,.idb,.dep,.opt,.plg,.ipdb,.ilk,*.iobj) do del /s /f /q “%%i” 写入1.cmd
在这里插入图片描述
2.构建步骤中添加自定义步骤
命令:1.cmd所在文件
参数:
工作目录:%{buildDir}%{CurrentBuild:Type}
工作目录是需要删除文件所在的目录,所以一定要填对
在这里插入图片描述
运行看看效果:
在这里插入图片描述
可能图片有点模糊,可看如下:

12:35:15: 进程"E:\QT5.12\Tools\QtCreator\bin\jom.exe"正常退出。
12:35:15: 正在启动 "D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\1.cmd" 


D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release>for /R %i in (*.obj *.cpp *.h *.exp *.user *.aps *.idb *.dep *.opt *.plg *.ipdb *.ilk *.iobj clean.cmd) do del /s /f /q "%i" 

D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release>del /s /f /q "D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\AOISerTest.obj" 
删除文件 - D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\AOISerTest.obj

D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release>del /s /f /q "D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\extendwindow.obj" 
删除文件 - D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\extendwindow.obj

D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release>del /s /f /q "D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\getssctdb.obj" 
删除文件 - D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\getssctdb.obj

D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release>del /s /f /q "D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\IOCOM.obj" 
删除文件 - D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\IOCOM.obj

D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release>del /s /f /q "D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\labelex.obj" 
删除文件 - D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\labelex.obj

D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release>del /s /f /q "D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\mainwindow.obj" 
删除文件 - D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\mainwindow.obj

D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release>del /s /f /q "D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\moc_extendwindow.obj" 
删除文件 - D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\moc_extendwindow.obj

D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release>del /s /f /q "D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\moc_labelex.obj" 
删除文件 - D:\AOI-Project\FA_AOI\TestUI-FA_AOI-AlgThread\Build-Qt5_12_4_MSVC2017_64bit-release\release\moc_labelex.obj

exe 方式清理文件

exe的方式或bat方式类似,就是将bat中的内容写到exe中,然后使用自定义步骤进行执行,如下只给出exe内容

#include <iostream>
void WriteLog()
{
	FILE *fp = nullptr;
	fopen_s(&fp, "clean.cmd", "w");
	if (fp == nullptr) {
		return;
	}
	else {
		fprintf_s(fp, " for /r %%%%i in (*.obj,*.cpp,*.h,*.exp,*.user,*.aps,*.idb,*.dep,*.opt,*.plg,*.ipdb,*.ilk,*.iobj,clean.cmd) do del /s /f /q \"%%%%i\"");
		fflush(fp);
		fclose(fp);
	}
}



void main()
{
	WriteLog();
	system("clean.cmd");
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值