fanmingyou3_wd

从子模块中copy hsp及hap文件到同一个目录

  1 +::copy_hsp_hap.bat
  2 +@echo off
  3 +
  4 +@rem 65001代表UTF-8的代码页,解决.bat脚本打印中文输出乱码
  5 +chcp 65001
  6 +
  7 +rem 开启延迟变量
  8 +setlocal enabledelayedexpansion
  9 +
  10 +rem 获取当前目录路径,有两种方式:一种是%cd%,另一种是%~dp0
  11 +rem %cd%:任何可[运行命令目录],需要注意的是,这里的执行命令目录有可能和脚本实际存储目录不同
  12 +
  13 +rem %~dp0%:[脚本文件的存储目录],注意,目录的路径为全路径,并且带结尾的反斜杠\
  14 +rem 如【D:\tmp> D:\bat_demo\folder2\copy_hsp_hap.bat】
  15 +
  16 +rem 执行bat脚本的命令目录:如:D:\tmp>
  17 +set "BASE_DIR=%cd%"
  18 +echo "batDirectory=%BASE_DIR%"
  19 +
  20 +rem set batDirectory=%~dp0%
  21 +rem echo "batDirectory=%batDirectory%"
  22 +
  23 +set subPath=build\default\outputs\default
  24 +set hspHapFolder=hspHapFolder
  25 +
  26 +rem 获取父路径
  27 +for %%d in (%~dp0..) do set parentDirectory=%%~fd
  28 +rem echo parentDirectory=%parentDirectory%
  29 +
  30 +set hspHapDirectory=%parentDirectory%\%hspHapFolder%
  31 +echo hspHapDirectory=%hspHapDirectory%
  32 +
  33 +
  34 +IF not EXIST %hspHapDirectory% (
  35 + rem ECHO File missing
  36 + mkdir %hspHapDirectory%
  37 +) ELSE (
  38 + rem ECHO File found
  39 +)
  40 +
  41 +rem echo.
  42 +rem echo 显示指定路径下的目录列表,不包括子目录
  43 +rem for /D %%z in ("%BASE_DIR%\*") do (
  44 +rem echo "%%z"
  45 +rem rem set "dirPath=!BASE_DIR!\%%w"
  46 +rem
  47 +rem set "hspHapFile=!%%w!\%subPath%-default-signed.hsp"
  48 +rem echo directory: "!hspHapFile!"
  49 +rem )
  50 +
  51 +echo.
  52 +rem echo 显示当前目录下的文件夹列表,不包括子目录
  53 +for /d %%w in (*) do (
  54 + rem echo "%%w"
  55 + set "hspFile=%BASE_DIR%\%%w\%subPath%\%%w-default-signed.hsp"
  56 + set "hapFile=%BASE_DIR%\%%w\%subPath%\%%w-default-signed.hap"
  57 +
  58 + rem 后面加上续行操作符 ^
  59 + if exist "!hspFile!" (
  60 + rem echo hspFile: "!hspFile!"
  61 + copy "!hspFile!" %hspHapDirectory%
  62 + )^
  63 + else if exist "!hapFile!" (
  64 + rem echo hapFile: "!hapFile!"
  65 + copy "!hapFile!" %hspHapDirectory%
  66 + )
  67 +)
  68 +echo 结束
  69 +
  70 +echo.
  71 +pause
  72 +