使用powershell批量添加Qt的文件(生成pro)
想使用QtCreator作为编辑器编辑keil或者IAR的工程,需要生成.pro文件,于是使用powershell批量处理。
源码如下:
$incPath = dir -filter "*.h" -Recurse
$headList="",""
$pathList = "","" foreach($fpath in $incPath)
{
$headList+=$fpath.DirectoryName + "/" + $fpath.name
$headList = $headList -replace "\\","/"
} foreach($fpath in $incPath)
{
$pathList += $fpath.DirectoryName
$pathList = $pathList -replace "\\","/"
} $txtTemp=$headList[0] $QtProHeadFileOut="HEADERS +="
$QtIncludePath = "INCLUDEPATH +=" $workDir=get-location
$proName = gi $workDir
$workDir =$workDir -replace "\\","/"
$workDir += "/" $flag = 0 foreach($txt in $pathList)
{
if($txt -ne $pathList[0])
{
if($txt -ne $txtTemp)
{
$txtTemp=$txt if($flag -eq 0)
{
$flag = 1
$txt = $txt -replace $workDir , " "
}
else
{
$txt = $txt -replace $workDir , " "
} $t = $pathList[-1] -replace $workDir , " "
if($txt -ne $t)
{
$QtIncludePath += $txt + "\`n"
}
else
{
$QtIncludePath += $txt + "`n`n"
}
}
}
} $flag = 0
foreach($txt in $headList)
{
if($txt -ne $headList[0])
{
if($flag -eq 0)
{
$flag = 1
$QtProHeadFileOut += $txt -replace $workDir , " "
}
else
{
$QtProHeadFileOut += $txt -replace $workDir , " "
} if($txt -ne $headList[-1])
{
$QtProHeadFileOut += "\`n"
}
else
{
$QtProHeadFileOut +="`n`n"
} }
} $sourcePath = dir -filter "*.c" -Recurse
$sourceList="","" foreach($fpath in $sourcePath)
{
$sourceList+=$fpath.DirectoryName + "/" + $fpath.name
$sourceList = $sourceList -replace "\\","/"
} $sourceTemp=$sourceList[0] $QtProSourceFileOut="SOURCES +=" $flag = 0 foreach($txt in $sourceList)
{
if($txt -ne $sourceTemp)
{
if($flag -eq 0)
{
$flag = 1
$QtProSourceFileOut += $txt -replace $workDir , " "
}
else
{
$QtProSourceFileOut += $txt -replace $workDir , " "
} if($txt -ne $sourceList[-1])
{
$QtProSourceFileOut += "\`n"
}
else
{
$QtProSourceFileOut +="`n`n"
}
}
} $proString ="TARGET = " + $proName.name +"`nTEMPLATE = app`n`n"
$outfile = $proString + $QtProSourceFileOut + $QtProHeadFileOut + $QtIncludePath
$outfile | Out-File -Encoding ascii qt.pro
最后会在工作目录生成一个qt.pro的文件。
使用方法:
1,打开powershell(win + R,输入powershell)
2,粘贴上面代码
3,回车,回车
想要添加.cpp文件,只需要将
$sourcePath = dir -filter "*.c" -Recurse
改成
$sourcePath = dir -filter "*.cpp" -Recurse
就可以了。
使用powershell批量添加Qt的文件(生成pro)的更多相关文章
- 使用powershell批量添加Keil和IAR的头文件路径
在Keil和IAR的工程中,为了使文件结构清晰,通常会设置很多的子文件夹,然后将头文件和源文件放在不同的子文件夹中,这样就需要手动添加这些头文件夹的路径.当工程结构非常复杂时,文件夹的数量就非常多,特 ...
- Centos6配置samba服务器并批量添加用户和文件夹
一.需求 局域网内有若干用户,所有用户访问一个共享目录 每个用户在共享目录里有自己的文件夹 每个用户都可以读取其他人的文件夹 每个用户只能对自己的文件夹有写入权限 所有用户都属于filesgroup组 ...
- Qt项目管理文件(.pro)及其作用详解
http://c.biancheng.net/view/1819.html 在 Qt Creator 中新建一个 Widget Application 项目 samp2_1,在选择窗口基类的页面选择 ...
- VS批量添加多个文件
步骤 1.设置项目,显示所有文件.2.点击项目,右键在资源管理器中打开.3.将要导入的文件复制到对应的文件中去.4.在解决方案中就可以看到刚才添加的多个文件.5.在新加的文件夹上右键,包括在项目中.
- 利用Nuget打包添加tools下intsall.ps1【powershell脚本】修改.csproj文件
利用Nuget打包添加tools下intsall.ps1[powershell脚本]修改.csproj文件, 以设置1.项目-生成->输出->选择[XML文件文件] 2.项目->调试 ...
- centos7 lvm合并分区脚本初探-linux性能测试 -centos7修改网卡名字-jdk环境安装脚本-关键字查询文件-批量添加用户
1.#!/bin/bash lvmdiskscan | grep centos > /root/a.txt a=`sed -n '1p' /root/a.txt` b=`sed -n '2p' ...
- qt exe文件添加图标
Qt 怎样生成带图标的exe(转载) 一.问题描述 当我们在 Windows 下用 VS 生成 exe 程序时,如果窗口程序指定了图标,那么生成的 exe 程序便是指定的图标模样. 但是,当使用 Qt ...
- 「Python实用秘技04」为pdf文件批量添加文字水印
本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第4期 ...
- Powershell 批量替换文件
Powershell 批量替换文件 ##作者:Xiongpq ##时间:2015-06-10 18:50 ##版本:2.0 ##源文件目录 ##源文件目录的所有文件都会覆盖目标目录的同名文件,源文件目 ...
随机推荐
- Oracle XMLTable 使用教程与实例
从Oracle 10g开始,甲骨文公司新增了XQuery和XMLTable两个功能作为处理XML的武器. XMLQuery一样,您可以使用XQuery语言构造XML数据和查询XML和关系数据.你可以使 ...
- 从零自学Hadoop(19):HBase介绍及安装
阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...
- 烂泥:利用awstats分析nginx日志
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 昨天把nginx的日志进行了切割,关于如何切割nginx日志,可以查看<烂泥:切割 ...
- Linux 下dns的搭建
1.软件安装: redhat默认使用bind作为安装软件 使用yum安装 yum install -y bind bind-chroot bind-utils bind提供主程序 bind-chroo ...
- 在Azure上部署Windows Server Core
作为服务器操作系统,图形界面真心有些多余了,这也是很多人喜欢Linux服务器的原因之一.从Windows Server 2008开始,微软提供了Server Core版本,其实就是一个没有图形界面的服 ...
- bootstrap-datetimepicker在火狐下报错的问题
问题:使用bootstrap-datetimepicker这个日期插件来显示日期,但在火狐下报如下错误:TypeError: (intermediate value).toString(...).sp ...
- BZOJ 3555: [Ctsc2014]企鹅QQ [字符串哈希]【学习笔记】
3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 2046 Solved: 749[Submit][Statu ...
- [LeetCode] Ones and Zeroes 一和零
In the computer world, use restricted resource you have to generate maximum benefit is what we alway ...
- [LeetCode] Concatenated Words 连接的单词
Given a list of words (without duplicates), please write a program that returns all concatenated wor ...
- [LeetCode] Strobogrammatic Number II 对称数之二
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside ...