前言
今天我的一个同事问了我一个功能,在使用TexturePacker合并小图的使用总是得一个一个的去合,这样很麻烦,问我能不能用命令行的方式,遍历所有文件夹,在各自文件夹内合并生成小图(PS:他的电脑是windows的)。这个功能我之前也没做过,就上网搜了些资料,最后整理归纳了一小段代码。
TexturePacker的安装
从TexturePacker官网下载安装后,将软件的bin目录添加到系统的环境变量中
bat文件内容
@echo off
for /f %%i in ('"dir /ad/s/b "') do (
if exist %%i\png (
cd %%i
TexturePacker %%i\png --sheet png.png --data png.xml --allow-free-size --no-trim --max-size 1024 --format sparrow --opt RGBA5555
echo %%i
)
)
pause
代码解析
dir /ad/s/b
基于bat文件的当前目录,遍历子目录 /ab 是文件夹 /s 是遍历子目录 /b 不显示标题信息或摘要
for命令
针对dir出的结果,单行逐步进行操作,其中%%i是每行的数据,也就是单个目录
/f 全路径
"delims=" 防止空格截断。