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


      在Keil和IAR的工程中,为了使文件结构清晰,通常会设置很多的子文件夹,然后将头文件和源文件放在不同的子文件夹中,这样就需要手动添加这些头文件夹的路径。当工程结构非常复杂时,文件夹的数量就非常多,特别是从别人那里拷贝过来的工程目录,添加头文件路径就变得非常的繁琐。所以我们需要一个自动化的方法。该方法会搜索工程目录的文件夹和子文件夹,将其中包含了.h文件的路径找出来,并转换成keil和IAR要求的格式。这个难不倒程序员,只是简单的文件查找,再用点正则就行,QT也好,python也好都很容易实现。但是考虑到keil和IAR的工程师不一定装python,打包也不方便,QT的程序也太大,所以选择了相对熟悉的powershell脚本。简单好用,Windows自带,不需要再额外安装或者下载什么Simple is better than complex。

      不多说,直接上脚本:

    $incPath = dir -filter "*.h" -Recurse
    $txtList="",""
    
    foreach($fpath in $incPath)
    {
        $txtList+=$fpath.DirectoryName
    }
    
    $txtTemp=$txtList[0]
    $txtTemp
    #$KeilOut="",""
    $KeilOut="Keil include directories`n`n"
    $workDir=get-location 
    $workDir =$workDir -replace "\","\"
    foreach($txt in $txtList)
    {
        if($txt -ne $txtTemp)
        { 
            $txtTemp=$txt
            $txtTemp +=";"
            $KeilOut += $txtTemp -replace $workDir , "." 
            $txtTemp=$txt
        }
        
    }
    $IAROut="",""
    $IAROut += "`nIAR include directories`n"
    $txtTemp=$txtList[0]
    foreach($txt in $txtList)
    {
        if($txt -ne $txtTemp)
        { 
            $txtTemp=$txt    
            $IAROut += $txtTemp -replace $workDir , "`$PROJ_DIR$" 
        }
    }
    $KeilOut>incDir.txt
    $IAROut>>incDir.txt

    看一下运行之后的结果:

    Keil include directories

    .ALGORITHM;.CORE;.FWLIBinc;.HARDWARECCD;.HARDWARELaser;.HARDWARELED;.HARDWAREMotorSpeed;.SYSTEMdelay;.SYSTEMsys;.SYSTEMusart;.UCOSIIconfig;.UCOSIIports;.UCOSIIsource;.UCOSIIucos_cpu;.USER;

    IAR include directories

    $PROJ_DIR$ALGORITHM
    $PROJ_DIR$CORE
    $PROJ_DIR$FWLIBinc
    $PROJ_DIR$HARDWARECCD
    $PROJ_DIR$HARDWARELaser
    $PROJ_DIR$HARDWARELED
    $PROJ_DIR$HARDWAREMotorSpeed
    $PROJ_DIR$SYSTEMdelay
    $PROJ_DIR$SYSTEMsys
    $PROJ_DIR$SYSTEMusart
    $PROJ_DIR$UCOSIIconfig
    $PROJ_DIR$UCOSIIports
    $PROJ_DIR$UCOSIIsource
    $PROJ_DIR$UCOSIIucos_cpu
    $PROJ_DIR$USER

    讲解一下怎么使用这个脚本:

    1,打开powershell。

      有很多方式打开,我习惯WIN+R打开运行,然后输入powershell打开。

    2,使用cd 命令切换到Keil或者IAR的工程目录

      

    3,复制上面的脚本到powershell,按ENTER。然后工程目录下会有一个名字为 incDir.txt的文本文件,里面就是头文件路径。

    4,将txt中内容复制粘贴到keil或者IAR中即可

  • 相关阅读:
    npm install --save
    ajax总结
    javascript学习资料
    前端工具学习资料
    php学习资料
    Bootstrap学习资料
    css学习资料
    Express搭建一个Node项目
    网站性能优化
    POJ 1862 Stripies【哈夫曼/贪心/优先队列】
  • 原文地址:https://www.cnblogs.com/WeyneChen/p/5443236.html
Copyright © 2020-2023  润新知