修复批处理脚本语法错误

主要修复:
- 移除可能被误解析的特殊字符
- 修复条件判断语句
- 简化变量传递方式
- 使用方括号标识选项避免歧义
- 优化参数处理逻辑
This commit is contained in:
KQL
2025-09-24 14:35:58 +08:00
parent f635d6753c
commit 616a2c6c4a

View File

@@ -4,7 +4,6 @@ setlocal enabledelayedexpansion
:: ======================================== :: ========================================
:: Education System - Windows Startup Script :: Education System - Windows Startup Script
:: 教务系统 - Windows启动脚本
:: ======================================== :: ========================================
:MAIN_MENU :MAIN_MENU
@@ -16,27 +15,27 @@ echo ========================================
echo. echo.
echo Select an option / 请选择一个选项: echo Select an option / 请选择一个选项:
echo. echo.
echo 0 - Start All Industries / 启动所有产业 echo [0] Start All Industries / 启动所有产业
echo -------------- echo --------------
echo 1 - Cultural Tourism / 文旅产业 (Port/端口: 5150) echo [1] Cultural Tourism / 文旅产业 (Port: 5150)
echo 2 - Smart Manufacturing / 智能制造 (Port/端口: 5151) echo [2] Smart Manufacturing / 智能制造 (Port: 5151)
echo 3 - Smart Development / 智能开发 (Port/端口: 5152) echo [3] Smart Development / 智能开发 (Port: 5152)
echo 4 - Finance and Commerce / 财经商贸 (Port/端口: 5153) echo [4] Finance and Commerce / 财经商贸 (Port: 5153)
echo 5 - Visual Design / 视觉设计 (Port/端口: 5154) echo [5] Visual Design / 视觉设计 (Port: 5154)
echo 6 - Transportation / 交通物流 (Port/端口: 5155) echo [6] Transportation / 交通物流 (Port: 5155)
echo 7 - Healthcare / 大健康 (Port/端口: 5156) echo [7] Healthcare / 大健康 (Port: 5156)
echo 8 - Civil Engineering / 土木水利 (Port/端口: 5157) echo [8] Civil Engineering / 土木水利 (Port: 5157)
echo 9 - Food Industry / 食品产业 (Port/端口: 5158) echo [9] Food Industry / 食品产业 (Port: 5158)
echo 10 - Chemical Industry / 化工产业 (Port/端口: 5159) echo [10] Chemical Industry / 化工产业 (Port: 5159)
echo 11 - Energy Industry / 能源产业 (Port/端口: 5160) echo [11] Energy Industry / 能源产业 (Port: 5160)
echo 12 - Environmental / 环保产业 (Port/端口: 5161) echo [12] Environmental / 环保产业 (Port: 5161)
echo -------------- echo --------------
echo A - Stop All / 停止所有 echo [A] Stop All / 停止所有
echo S - Check Status / 查看状态 echo [S] Status / 查看状态
echo Q - Exit / 退出 echo [Q] Exit / 退出
echo. echo.
set /p choice=Enter your choice / 请输入选项: set /p choice="Enter your choice / 请输入选项: "
if "%choice%"=="0" goto START_ALL if "%choice%"=="0" goto START_ALL
if "%choice%"=="1" goto START_1 if "%choice%"=="1" goto START_1
@@ -62,103 +61,105 @@ goto MAIN_MENU
:START_ALL :START_ALL
echo. echo.
echo Starting all industries... / 正在启动所有产业... echo Starting all industries... / 正在启动所有产业...
call :START_INDUSTRY "frontend" "Cultural Tourism / 文旅产业" 5150 call :START_INDUSTRY frontend "Cultural Tourism / 文旅产业" 5150
call :START_INDUSTRY "frontend_智能制造" "Smart Manufacturing / 智能制造" 5151 call :START_INDUSTRY frontend_智能制造 "Smart Manufacturing / 智能制造" 5151
call :START_INDUSTRY "frontend_智能开发" "Smart Development / 智能开发" 5152 call :START_INDUSTRY frontend_智能开发 "Smart Development / 智能开发" 5152
call :START_INDUSTRY "frontend_财经商贸" "Finance Commerce / 财经商贸" 5153 call :START_INDUSTRY frontend_财经商贸 "Finance Commerce / 财经商贸" 5153
call :START_INDUSTRY "frontend_视觉设计" "Visual Design / 视觉设计" 5154 call :START_INDUSTRY frontend_视觉设计 "Visual Design / 视觉设计" 5154
call :START_INDUSTRY "frontend_交通物流" "Transportation / 交通物流" 5155 call :START_INDUSTRY frontend_交通物流 "Transportation / 交通物流" 5155
call :START_INDUSTRY "frontend_大健康" "Healthcare / 大健康" 5156 call :START_INDUSTRY frontend_大健康 "Healthcare / 大健康" 5156
call :START_INDUSTRY "frontend_土木水利" "Civil Engineering / 土木水利" 5157 call :START_INDUSTRY frontend_土木水利 "Civil Engineering / 土木水利" 5157
call :START_INDUSTRY "frontend_食品" "Food Industry / 食品产业" 5158 call :START_INDUSTRY frontend_食品 "Food Industry / 食品产业" 5158
call :START_INDUSTRY "frontend_化工" "Chemical Industry / 化工产业" 5159 call :START_INDUSTRY frontend_化工 "Chemical Industry / 化工产业" 5159
call :START_INDUSTRY "frontend_能源" "Energy Industry / 能源产业" 5160 call :START_INDUSTRY frontend_能源 "Energy Industry / 能源产业" 5160
call :START_INDUSTRY "frontend_环保" "Environmental / 环保产业" 5161 call :START_INDUSTRY frontend_环保 "Environmental / 环保产业" 5161
echo. echo.
echo All industries started! / 所有产业已启动! echo All industries started! / 所有产业已启动!
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_1 :START_1
call :START_INDUSTRY "frontend" "Cultural Tourism / 文旅产业" 5150 call :START_INDUSTRY frontend "Cultural Tourism / 文旅产业" 5150
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_2 :START_2
call :START_INDUSTRY "frontend_智能制造" "Smart Manufacturing / 智能制造" 5151 call :START_INDUSTRY frontend_智能制造 "Smart Manufacturing / 智能制造" 5151
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_3 :START_3
call :START_INDUSTRY "frontend_智能开发" "Smart Development / 智能开发" 5152 call :START_INDUSTRY frontend_智能开发 "Smart Development / 智能开发" 5152
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_4 :START_4
call :START_INDUSTRY "frontend_财经商贸" "Finance Commerce / 财经商贸" 5153 call :START_INDUSTRY frontend_财经商贸 "Finance Commerce / 财经商贸" 5153
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_5 :START_5
call :START_INDUSTRY "frontend_视觉设计" "Visual Design / 视觉设计" 5154 call :START_INDUSTRY frontend_视觉设计 "Visual Design / 视觉设计" 5154
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_6 :START_6
call :START_INDUSTRY "frontend_交通物流" "Transportation / 交通物流" 5155 call :START_INDUSTRY frontend_交通物流 "Transportation / 交通物流" 5155
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_7 :START_7
call :START_INDUSTRY "frontend_大健康" "Healthcare / 大健康" 5156 call :START_INDUSTRY frontend_大健康 "Healthcare / 大健康" 5156
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_8 :START_8
call :START_INDUSTRY "frontend_土木水利" "Civil Engineering / 土木水利" 5157 call :START_INDUSTRY frontend_土木水利 "Civil Engineering / 土木水利" 5157
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_9 :START_9
call :START_INDUSTRY "frontend_食品" "Food Industry / 食品产业" 5158 call :START_INDUSTRY frontend_食品 "Food Industry / 食品产业" 5158
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_10 :START_10
call :START_INDUSTRY "frontend_化工" "Chemical Industry / 化工产业" 5159 call :START_INDUSTRY frontend_化工 "Chemical Industry / 化工产业" 5159
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_11 :START_11
call :START_INDUSTRY "frontend_能源" "Energy Industry / 能源产业" 5160 call :START_INDUSTRY frontend_能源 "Energy Industry / 能源产业" 5160
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_12 :START_12
call :START_INDUSTRY "frontend_环保" "Environmental / 环保产业" 5161 call :START_INDUSTRY frontend_环保 "Environmental / 环保产业" 5161
pause pause
goto MAIN_MENU goto MAIN_MENU
:START_INDUSTRY :START_INDUSTRY
set "dir=%~1" set dir=%1
set "name=%~2" set name=%2
set "port=%~3" set port=%3
echo. echo.
echo ======================================== echo ========================================
echo Starting / 正在启动: %name% echo Starting: %name%
echo Port / 端口: %port% echo Port: %port%
echo ======================================== echo ========================================
if not exist "%dir%" ( if not exist %dir% (
echo [ERROR/错误] Directory does not exist! / 目录不存在: %dir% echo ERROR: Directory %dir% does not exist!
echo 错误: 目录 %dir% 不存在!
exit /b 1 exit /b 1
) )
netstat -an | findstr ":%port%" >nul 2>&1 netstat -an | findstr ":%port%" >nul 2>&1
if %errorlevel%==0 ( if %errorlevel%==0 (
echo [WARNING/警告] Port is already in use / 端口已被占用: %port% echo WARNING: Port %port% is already in use
set /p stop_choice=Stop existing service? / 停止现有服务? (y/n): echo 警告: 端口 %port% 已被占用
set /p stop_choice="Stop existing service? (y/n) / 停止现有服务? (y/n): "
if /i "!stop_choice!"=="y" ( if /i "!stop_choice!"=="y" (
echo Stopping service... / 正在停止服务... echo Stopping service... / 正在停止服务...
for /f "tokens=5" %%a in ('netstat -aon ^| findstr ":%port%"') do ( for /f "tokens=5" %%a in ('netstat -aon ^| findstr ":%port%"') do (
@@ -171,22 +172,22 @@ if %errorlevel%==0 (
) )
) )
cd "%dir%" 2>nul cd %dir% 2>nul
if not exist "node_modules" ( if not exist node_modules (
echo [INFO/信息] Installing dependencies... / 正在安装依赖... echo INFO: Installing dependencies... / 正在安装依赖...
echo Please wait 1-3 minutes... / 请等待1-3分钟... echo Please wait 1-3 minutes... / 请等待1-3分钟...
call npm install call npm install
if !errorlevel! neq 0 ( if !errorlevel! neq 0 (
echo [ERROR/错误] Installation failed! / 安装失败! echo ERROR: Installation failed! / 安装失败!
cd .. cd ..
exit /b 1 exit /b 1
) )
echo [SUCCESS/成功] Dependencies installed! / 依赖安装完成! echo SUCCESS: Dependencies installed! / 依赖安装完成!
) else ( ) else (
echo [INFO/信息] Dependencies exist / 依赖已存在 echo INFO: Dependencies exist / 依赖已存在
) )
echo [INFO/信息] Starting service... / 正在启动服务... echo INFO: Starting service... / 正在启动服务...
start /min cmd /c "npm run dev" start /min cmd /c "npm run dev"
cd .. cd ..
@@ -195,12 +196,13 @@ timeout /t 3 >nul
netstat -an | findstr ":%port%" >nul 2>&1 netstat -an | findstr ":%port%" >nul 2>&1
if %errorlevel%==0 ( if %errorlevel%==0 (
echo [SUCCESS/成功] Started successfully! / 启动成功! echo SUCCESS: Started successfully! / 启动成功!
echo. echo.
echo Access URL / 访问地址: http://localhost:%port% echo Access URL: http://localhost:%port%
echo 访问地址: http://localhost:%port%
echo. echo.
) else ( ) else (
echo [ERROR/错误] Failed to start! / 启动失败! echo ERROR: Failed to start! / 启动失败!
exit /b 1 exit /b 1
) )
@@ -242,12 +244,14 @@ pause >nul
goto MAIN_MENU goto MAIN_MENU
:CHECK_PORT :CHECK_PORT
netstat -an | findstr ":%1" >nul 2>&1 set port=%1
set name=%2
netstat -an | findstr ":%port%" >nul 2>&1
if %errorlevel%==0 ( if %errorlevel%==0 (
echo [RUNNING/运行中] %~2 - Port/端口: %1 echo [RUNNING] %name% - Port: %port%
echo URL: http://localhost:%1 echo URL: http://localhost:%port%
) else ( ) else (
echo [STOPPED/未启动] %~2 - Port/端口: %1 echo [STOPPED] %name% - Port: %port%
) )
exit /b 0 exit /b 0