# 批量执行脚本使用说明

## 功能
`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. 最终如果有任何失败，脚本会返回非零退出码
