@echo off setlocal EnableDelayedExpansion :: ============================================ :: Lesson Highlights Generator - CLI Runner :: ============================================ :: 用法: :: run.bat "video.mp4" "presentation.pptx" "output_dir" :: run.bat <- 显示帮助 :: ============================================ set "PROJECT_DIR=%~dp0" set "SRC_DIR=%PROJECT_DIR%src" set "VENV_DIR=%PROJECT_DIR%venv" set "PYTHON_SRC=D:\ProgramData\anaconda3\envs\py312_cuda\python.exe" set "LOG_FILE=%PROJECT_DIR%temp\cli_run_log.txt" :: 参数检查 if "%~1"=="" ( echo 用法: echo run.bat "视频路径" "PPT路径" "输出目录" echo. echo 示例: echo run.bat "D:\Videos\lesson.mp4" "D:\PPT\lesson.pptx" "D:\Output" exit /b 1 ) set "VIDEO=%~f1" set "PPT=%~f2" set "OUTPUT=%~f3" :: 验证文件存在 if not exist "%VIDEO%" ( echo 错误: 视频文件不存在: %VIDEO% exit /b 1 ) if not exist "%PPT%" ( echo 错误: PPT文件不存在: %PPT% exit /b 1 ) :: 创建输出目录 if not exist "%OUTPUT%" mkdir "%OUTPUT%" :: 加载 config.ini 中的 API 配置 set "API_KEY=" set "API_HOST=" for /f "usebackq tokens=1,2 delims== " %%a in ("%PROJECT_DIR%config.ini") do ( if "%%a"=="api_key" set "API_KEY=%%b" if "%%a"=="api_host" set "API_HOST=%%b" ) :: 没有配置则使用默认值 if not defined API_KEY ( echo 警告: config.ini 中未找到 api_key,使用默认值 set "API_KEY=b0359bed-09f2-49e2-a53c-32ba057412e3" set "API_HOST=https://ark.cn-beijing.volces.com/api/coding/v3" ) :: 设置 FFmpeg PATH set "FFMPEG_BIN=%PROJECT_DIR%ffmpeg\ffmpeg-8.1-full_build\bin" set "PATH=%FFMPEG_BIN%;%PATH%" echo ============================================ echo Lesson Highlights Generator - CLI echo ============================================ echo 视频: %VIDEO% echo PPT: %PPT% echo 输出: %OUTPUT% echo ============================================ echo. :: 清理日志 del /f /q "%LOG_FILE%" 2>nul :: 运行 CLI "%VENV_DIR%\Scripts\python.exe" "%SRC_DIR%\cli.py" ^ --video "%VIDEO%" ^ --ppt "%PPT%" ^ --output "%OUTPUT%" ^ --api-key "%API_KEY%" ^ --api-host "%API_HOST%" ^ --verbose echo. echo Exit: %errorlevel% if errorlevel 1 ( echo 运行失败,详见日志: %LOG_FILE% ) else ( echo 完成! )