想使用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)的更多相关文章

  1. 使用powershell批量添加Keil和IAR的头文件路径

    在Keil和IAR的工程中,为了使文件结构清晰,通常会设置很多的子文件夹,然后将头文件和源文件放在不同的子文件夹中,这样就需要手动添加这些头文件夹的路径.当工程结构非常复杂时,文件夹的数量就非常多,特 ...

  2. Centos6配置samba服务器并批量添加用户和文件夹

    一.需求 局域网内有若干用户,所有用户访问一个共享目录 每个用户在共享目录里有自己的文件夹 每个用户都可以读取其他人的文件夹 每个用户只能对自己的文件夹有写入权限 所有用户都属于filesgroup组 ...

  3. Qt项目管理文件(.pro)及其作用详解

    http://c.biancheng.net/view/1819.html 在 Qt Creator 中新建一个 Widget Application 项目 samp2_1,在选择窗口基类的页面选择 ...

  4. VS批量添加多个文件

    步骤 1.设置项目,显示所有文件.2.点击项目,右键在资源管理器中打开.3.将要导入的文件复制到对应的文件中去.4.在解决方案中就可以看到刚才添加的多个文件.5.在新加的文件夹上右键,包括在项目中.

  5. 利用Nuget打包添加tools下intsall.ps1【powershell脚本】修改.csproj文件

    利用Nuget打包添加tools下intsall.ps1[powershell脚本]修改.csproj文件, 以设置1.项目-生成->输出->选择[XML文件文件] 2.项目->调试 ...

  6. 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' ...

  7. qt exe文件添加图标

    Qt 怎样生成带图标的exe(转载) 一.问题描述 当我们在 Windows 下用 VS 生成 exe 程序时,如果窗口程序指定了图标,那么生成的 exe 程序便是指定的图标模样. 但是,当使用 Qt ...

  8. 「Python实用秘技04」为pdf文件批量添加文字水印

    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第4期 ...

  9. Powershell 批量替换文件

    Powershell 批量替换文件 ##作者:Xiongpq ##时间:2015-06-10 18:50 ##版本:2.0 ##源文件目录 ##源文件目录的所有文件都会覆盖目标目录的同名文件,源文件目 ...

随机推荐

  1. Oracle XMLTable 使用教程与实例

    从Oracle 10g开始,甲骨文公司新增了XQuery和XMLTable两个功能作为处理XML的武器. XMLQuery一样,您可以使用XQuery语言构造XML数据和查询XML和关系数据.你可以使 ...

  2. 从零自学Hadoop(19):HBase介绍及安装

    阅读目录 序 介绍 安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一篇, ...

  3. 烂泥:利用awstats分析nginx日志

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 昨天把nginx的日志进行了切割,关于如何切割nginx日志,可以查看<烂泥:切割 ...

  4. Linux 下dns的搭建

    1.软件安装: redhat默认使用bind作为安装软件 使用yum安装 yum install -y bind bind-chroot bind-utils bind提供主程序 bind-chroo ...

  5. 在Azure上部署Windows Server Core

    作为服务器操作系统,图形界面真心有些多余了,这也是很多人喜欢Linux服务器的原因之一.从Windows Server 2008开始,微软提供了Server Core版本,其实就是一个没有图形界面的服 ...

  6. bootstrap-datetimepicker在火狐下报错的问题

    问题:使用bootstrap-datetimepicker这个日期插件来显示日期,但在火狐下报如下错误:TypeError: (intermediate value).toString(...).sp ...

  7. BZOJ 3555: [Ctsc2014]企鹅QQ [字符串哈希]【学习笔记】

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 2046  Solved: 749[Submit][Statu ...

  8. [LeetCode] Ones and Zeroes 一和零

    In the computer world, use restricted resource you have to generate maximum benefit is what we alway ...

  9. [LeetCode] Concatenated Words 连接的单词

    Given a list of words (without duplicates), please write a program that returns all concatenated wor ...

  10. [LeetCode] Strobogrammatic Number II 对称数之二

    A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside ...