@echo off setlocal EnableExtensions rem 固定到脚本所在目录,保证相对路径生效 pushd "%~dp0" rem 交互模式(双击)默认在末尾 pause;若传入参数 ci 则用于流水线:不 pause,返回退出码 set PAUSE_AT_END=1 if /i "%~1"=="ci" set PAUSE_AT_END=0 echo [GEN] ===== Client (TypeScript Bin) ===== call gen_client.bat nopause set EC=%errorlevel% if %EC% NEQ 0 ( echo [GEN][ERROR] gen_client failed. code=%EC% if %PAUSE_AT_END%==1 pause popd if %PAUSE_AT_END%==0 exit /b %EC% goto :eof ) echo [GEN] ===== Server (Go JSON) ===== call gen_server.bat nopause set EC=%errorlevel% if %EC% NEQ 0 ( echo [GEN][ERROR] gen_server failed. code=%EC% if %PAUSE_AT_END%==1 pause popd if %PAUSE_AT_END%==0 exit /b %EC% goto :eof ) echo [GEN] ===== ALL DONE ===== if %PAUSE_AT_END%==1 pause popd if %PAUSE_AT_END%==0 exit /b 0