# 批量执行脚本使用说明 ## 功能 `run_batch.sh` 可以批量执行多个Python脚本,对指定父目录下的所有子目录逐一处理。 ## 用法 ```bash ./run_batch.sh <父目录> <脚本1.py> [脚本2.py] [脚本3.py] ... ``` ## 参数说明 - **父目录**: 包含多个输入子目录的父目录 - **脚本列表**: 一个或多个要执行的Python脚本 ## 执行逻辑 1. 获取父目录下的所有子目录 2. 对每个子目录,依次执行所有指定的Python脚本 3. 将子目录路径作为 `--input-dir` 参数传递给脚本 4. 统计执行结果(成功/失败) ## 使用示例 ### 示例1: 单个脚本处理所有子目录 ```bash ./run_batch.sh input sug_v2.py ``` 假设目录结构: ``` input/ ├── 简单扣图/ ├── 复杂任务/ └── 其他任务/ ``` 执行结果: - `python sug_v2.py --input-dir input/简单扣图` - `python sug_v2.py --input-dir input/复杂任务` - `python sug_v2.py --input-dir input/其他任务` ### 示例2: 多个脚本处理所有子目录 ```bash ./run_batch.sh input sug_v2.py sug_v3.py ``` 执行结果: - `python sug_v2.py --input-dir input/简单扣图` - `python sug_v3.py --input-dir input/简单扣图` - `python sug_v2.py --input-dir input/复杂任务` - `python sug_v3.py --input-dir input/复杂任务` - `python sug_v2.py --input-dir input/其他任务` - `python sug_v3.py --input-dir input/其他任务` ## 输出示例 ``` ========================================= 开始批量执行 父目录: input 脚本列表: sug_v2.py sug_v3.py ========================================= ---------------------------------------- 处理子目录: input/简单扣图 ---------------------------------------- [任务 1] 执行: python sug_v2.py --input-dir input/简单扣图 开始时间: 2025-10-24 15:30:00 ... (脚本输出) ... ✓ 成功 结束时间: 2025-10-24 15:30:45 [任务 2] 执行: python sug_v3.py --input-dir input/简单扣图 开始时间: 2025-10-24 15:30:45 ... (脚本输出) ... ✓ 成功 结束时间: 2025-10-24 15:31:30 ---------------------------------------- 处理子目录: input/复杂任务 ---------------------------------------- ... (继续执行) ... ========================================= 批量执行完成 ========================================= 总任务数: 6 成功: 5 失败: 1 ========================================= ``` ## 特性 - ✅ 自动发现父目录下的所有子目录 - ✅ 支持执行多个Python脚本 - ✅ 显示每个任务的执行时间 - ✅ 统计成功/失败数量 - ✅ 即使某个任务失败也会继续执行 - ✅ 最终返回执行结果(有失败则退出码非零) ## 前置要求 - 每个子目录必须包含 `context.md` 和 `q.md` 文件 - Python脚本必须支持 `--input-dir` 参数 ## 注意事项 1. 脚本会按照子目录的字母顺序执行 2. 如果某个任务失败,会继续执行剩余任务 3. 最终如果有任何失败,脚本会返回非零退出码