@echo off
setlocal EnableDelayedExpansion
REM TexturePacker命令行启动
set "texturepacker=E:\TexturePacker\bin\TexturePacker.exe"
REM 导出图集资源的路径
set "outputDir=G:\out\"
REM 路径符号
set "w=\"
REM 只遍历该脚本所在文件夹的所有目录以及子目录(不包含文件)
for /d /r %%i in (*) do (
set "a=false"
REM 遍历该目录中是否包含.png文件
for /f %%j in ('dir /b /a-d "%%i\*.png"') do (
set "a=true"
)
if !a! == true (
set "path=%%i"
REM 获取资源路径并解析出每个路径名 其中tokens代表分割出来的结果 delims代表要以什么字符分割 %%a这个代表的是起始位置(按照字母顺序表排序)
REM eg: set "path=E:\TexturePacker\bin\TexturePacker.exe" %%a=E:,%%b=TexturePacker,%%c=bin 以此类推 如果换成%%o开始则 %%o=E:,%%p=TexturePacker,%%q=bin 以此类推
for /f "tokens=1,2,3,4,5 delims=\" %%a in ("!path!") do (
set "third_level1=%%a"
set "third_level2=%%b"
set "third_level3=%%c"
set "third_level4=%%d"
set "third_level5=%%e"
)
REM echo Third level folder name1: !third_level1!
REM echo Third level folder name2: !third_level2!
REM echo Third level folder name3: !third_level3!
REM echo Third level folder name4: !third_level4!
REM echo Third level folder name5: !third_level5!
REM ;连接需要导出的路径
set "outpath=!outputDir!;!third_level3!;!w!;!third_level4!;!w!;!third_level4!;!third_level5!
set "outpath=!outpath:;=!"
REM echo !outpath!
REM 调用TexturePacker命令行进图集打包 (根据导出的路径如果没有该目录的话会自动创建该目录)
"%texturepacker%" --sheet "!outpath!.png" --data "!outpath!.plist" --trim --allow-free-size --enable-rotation --max-size 1024 !path!
)
)
echo Done.
pause
【无标题】使用bat命令结合texturePacker对资源打图集进行批处理
最新推荐文章于 2023-07-27 11:28:48 发布