|
@@ -0,0 +1,117 @@
|
|
|
|
|
+# 批量执行脚本使用说明
|
|
|
|
|
+
|
|
|
|
|
+## 功能
|
|
|
|
|
+`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. 最终如果有任何失败,脚本会返回非零退出码
|