RUN_BATCH_README.md 2.9 KB

批量执行脚本使用说明

功能

run_batch.sh 可以批量执行多个Python脚本,对指定父目录下的所有子目录逐一处理。

用法

./run_batch.sh <父目录> <脚本1.py> [脚本2.py] [脚本3.py] ...

参数说明

  • 父目录: 包含多个输入子目录的父目录
  • 脚本列表: 一个或多个要执行的Python脚本

执行逻辑

  1. 获取父目录下的所有子目录
  2. 对每个子目录,依次执行所有指定的Python脚本
  3. 将子目录路径作为 --input-dir 参数传递给脚本
  4. 统计执行结果(成功/失败)

使用示例

示例1: 单个脚本处理所有子目录

./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: 多个脚本处理所有子目录

./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.mdq.md 文件
  • Python脚本必须支持 --input-dir 参数

注意事项

  1. 脚本会按照子目录的字母顺序执行
  2. 如果某个任务失败,会继续执行剩余任务
  3. 最终如果有任何失败,脚本会返回非零退出码