64 lines
1.5 KiB
Batchfile
64 lines
1.5 KiB
Batchfile
|
|
@echo off
|
|||
|
|
chcp 65001 >nul
|
|||
|
|
title 程序管理脚本
|
|||
|
|
|
|||
|
|
:: ================= 配置区 =================
|
|||
|
|
:: 设置目标exe文件名
|
|||
|
|
set "EXE_NAME=server.exe"
|
|||
|
|
:: 设置exe完整路径 (如果exe和bat在同一目录,可使用 %~dp0%EXE_NAME%)
|
|||
|
|
set "EXE_PATH=%~dp0%EXE_NAME%"
|
|||
|
|
:: =========================================
|
|||
|
|
|
|||
|
|
:menu
|
|||
|
|
echo.
|
|||
|
|
echo ================================
|
|||
|
|
echo 程序管理菜单
|
|||
|
|
echo ================================
|
|||
|
|
echo 1. 启动程序
|
|||
|
|
echo 2. 关闭程序
|
|||
|
|
echo 3. 重启程序 (先关后开)
|
|||
|
|
echo 4. 退出
|
|||
|
|
echo ================================
|
|||
|
|
set /p choice="请输入选项 (1-4): "
|
|||
|
|
|
|||
|
|
if "%choice%"=="1" goto start_prog
|
|||
|
|
if "%choice%"=="2" goto stop_prog
|
|||
|
|
if "%choice%"=="3" goto restart_prog
|
|||
|
|
if "%choice%"=="4" exit
|
|||
|
|
echo 无效选项,请重试
|
|||
|
|
goto menu
|
|||
|
|
|
|||
|
|
:start_prog
|
|||
|
|
echo [INFO] 正在检查程序是否已运行...
|
|||
|
|
tasklist /fi "imagename eq %EXE_NAME%" | find /i "%EXE_NAME%" >nul
|
|||
|
|
if %errorlevel% equ 0 (
|
|||
|
|
echo [WARN] 程序 [%EXE_NAME%] 已经在运行中。
|
|||
|
|
) else (
|
|||
|
|
if exist "%EXE_PATH%" (
|
|||
|
|
echo [INFO] 正在启动: %EXE_PATH%
|
|||
|
|
start "" "%EXE_PATH%"
|
|||
|
|
echo [SUCCESS] 程序已启动。
|
|||
|
|
) else (
|
|||
|
|
echo [ERROR] 未找到文件: %EXE_PATH%
|
|||
|
|
)
|
|||
|
|
)
|
|||
|
|
pause
|
|||
|
|
goto menu
|
|||
|
|
|
|||
|
|
:stop_prog
|
|||
|
|
echo [INFO] 正在尝试关闭进程: %EXE_NAME% ...
|
|||
|
|
taskkill /f /im "%EXE_NAME%" >nul 2>&1
|
|||
|
|
if %errorlevel% equ 0 (
|
|||
|
|
echo [SUCCESS] 进程已强制关闭。
|
|||
|
|
) else (
|
|||
|
|
echo [WARN] 未检测到运行中的进程或关闭失败。
|
|||
|
|
)
|
|||
|
|
pause
|
|||
|
|
goto menu
|
|||
|
|
|
|||
|
|
:restart_prog
|
|||
|
|
call :stop_prog
|
|||
|
|
timeout /t 2 /nobreak >nul
|
|||
|
|
call :start_prog
|
|||
|
|
goto menu
|