@echo off setlocal enabledelayedexpansion :: 设置工作路径 set "WORKSPACE=.." set "LUBAN_DLL=%WORKSPACE%\lubanBuild\luban\Luban\Luban.dll" set "DATA_OUTPUT_DIR=%WORKSPACE%\..\GameClient\Assets\Game\CSShare\GFG\HotUpdate\LuBanConfig\LubanData" set "CODE_OUTPUT_DIR=%WORKSPACE%\..\GameClient\Assets\Game\CSShare\GFG\HotUpdate\LuBanConfig\Luban" set "CONF_ROOT=." :: 显示关键路径信息 echo. echo [路径信息] echo Luban.dll路径: %LUBAN_DLL% echo 数据输出目录: %DATA_OUTPUT_DIR% echo 代码输出目录: %CODE_OUTPUT_DIR% echo 配置文件路径: %CONF_ROOT%\luban.conf echo. :: 检查关键文件是否存在 if not exist "%LUBAN_DLL%" ( echo [错误] 找不到Luban.dll文件 echo 请检查路径: %LUBAN_DLL% pause exit /b 1 ) if not exist "%CONF_ROOT%\luban.conf" ( echo [错误] 找不到配置文件luban.conf echo 请检查路径: %CONF_ROOT%\luban.conf pause exit /b 1 ) :: 创建输出目录(如果不存在) if not exist "%DATA_OUTPUT_DIR%" ( echo 创建数据输出目录... mkdir "%DATA_OUTPUT_DIR%" ) if not exist "%CODE_OUTPUT_DIR%" ( echo 创建代码输出目录... mkdir "%CODE_OUTPUT_DIR%" ) :: 执行Luban生成命令 echo. echo 正在执行Luban生成... echo. dotnet "%LUBAN_DLL%" ^ -t client ^ -d json ^ -c cs-simple-json ^ -p dale_pipeline ^ --conf "%CONF_ROOT%\luban.conf" ^ -x outputDataDir="%DATA_OUTPUT_DIR%" ^ outputCodeDir="%CODE_OUTPUT_DIR%" ^ outputSaver.json.cleanUpOutputDir=0 ^ outputSaver.cs-simple-json.cleanUpOutputDir=0 :: 错误处理 set "EXIT_CODE=%errorlevel%" echo. if %EXIT_CODE% EQU 0 ( echo Luban生成成功完成! ) else ( echo [错误] Luban生成失败,错误代码: %EXIT_CODE% echo. echo 可能原因: echo 1. 配置文件luban.conf有错误 echo 2. Excel数据文件格式有问题 echo 3. 输出目录权限不足 echo 4. Luban.dll版本不匹配 ) pause exit /b %EXIT_CODE%