win下批量复制目录下所有文件夹中的指定文件

一、需求

前面用到了Gradle多渠道打包,打包之后生成的apk文件目录结构如下,但我们需要把apk复制到指定的目录下。

outputs\apk
├─common
│  └─release
│          output-metadata.json
│          xrby-common-release.apk
│
├─xianwan
│  └─release
│          output-metadata.json
│          xrby-xianwan-release.apk
│
├─xiaozhuo
│  └─release
│          output-metadata.json
│          xrby-xiaozhuo-release.apk
│
└─zhuanke
    └─release
            output-metadata.json
            xrby-zhuanke-release.apk

二、实现

写一个bat批处理文件,遍历扫描一遍outputs\apk目录,把对应后缀文件copy出来就可以了。

:: 设置apk所在目录
set apk=F:\game\Build\frameworks\runtime-src\proj.android-studio\app\build\outputs\apk
:: 输出目录
set out_path=F:\game\out
:: 需要复制的文件
set outfile=*.apk

cd %apk%
for /f "delims=" %%s in ('dir /b/a-d/s "%apk%"\"%outfile%"') do (
    copy /y "%%s" %out_path%
)
0%