批量提前swf文件中的sprite (精灵)生成png

批量提前swf文件中的sprite (精灵)生成png

@echo off
setlocal enabledelayedexpansion

REM 设置输入和输出目录
set "INPUT_DIR=D:\ruanjian\swf\house"
set "OUTPUT_PARENT_DIR=D:\ruanjian\swf\sprites"
set "JPEXS_PATH=D:\ruanjian\ffdec\ffdec.bat"

REM 创建输出根目录
if not exist "%OUTPUT_PARENT_DIR%" mkdir "%OUTPUT_PARENT_DIR%"

REM 遍历输入目录中的每个 .swf 文件
for %%F in ("%INPUT_DIR%\*.swf") do (
    REM 获取文件名(不含扩展名)
    set "FILENAME=%%~nF"
    echo Processing %%F
    
    REM 创建每个 .swf 文件的输出子目录
    set "FILE_OUTPUT_DIR=%OUTPUT_PARENT_DIR%\!FILENAME!"
    if not exist "!FILE_OUTPUT_DIR!" mkdir "!FILE_OUTPUT_DIR!"

    REM 使用 JPEXS Free Flash Decompiler 提取精灵
    call "%JPEXS_PATH%" -export sprite "!FILE_OUTPUT_DIR!" "%%F"
)

echo All files processed.
pause

筛选其中>30kb的文件

import os
import shutil

def copy_and_rename_images(input_parent_dir, output_parent_dir, min_size_kb=30):
    # 创建输出根目录
    os.makedirs(output_parent_dir, exist_ok=True)

    # 遍历输入父目录中的每个子目录
    for dir_name in os.listdir(input_parent_dir):
        input_dir = os.path.join(input_parent_dir, dir_name)
        if os.path.isdir(input_dir):
            print(f"Processing directory: {input_dir}")

            # 计算已经处理的文件数量,用于文件名的序号
            file_count = 1

            # 遍历每个子目录中的图片文件
            for subdir_root, _, subdir_files in os.walk(input_dir):
                for file_name in subdir_files:
                    if file_name.lower().endswith('.png'):
                        file_path = os.path.join(subdir_root, file_name)
                        file_size_kb = os.path.getsize(file_path) / 1024  # 文件大小,以KB为单位
                        
                        # 检查文件是否大于80KB
                        if file_size_kb > min_size_kb:
                            # 构建新的文件名
                            new_file_name = f"{dir_name}_{file_count}.png"
                            new_file_path = os.path.join(output_parent_dir, new_file_name)
                            
                            # 复制文件到目标输出子目录
                            shutil.copy(file_path, new_file_path)
                            print(f"Copied {file_path} to {new_file_path}")

                            # 增加文件计数
                            file_count += 1

    print("All files processed.")

# 设置输入和输出目录的父目录
input_parent_dir = r"D:\ruanjian\swf\sprites"
output_parent_dir = r"D:\ruanjian\swf\majorrename"

# 运行函数
copy_and_rename_images(input_parent_dir, output_parent_dir)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值