| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- @echo off
- chcp 65001 >nul
- title FTP Server 服务管理
- :: 配置区域 - 请根据实际路径修改
- set FTP_HOME=%~dp0
- set FTP_EXE=%FTP_HOME%ftp-server.exe
- set SERVICE_NAME=FTP-Server
- set CONFIG_FILE=%FTP_HOME%config.json
- :: 检查管理员权限
- net session >nul 2>&1
- if %errorlevel% neq 0 (
- echo [错误] 请以管理员身份运行此脚本!
- echo 右键点击脚本 -^> "以管理员身份运行"
- pause
- exit /b 1
- )
- :: 检查可执行文件
- if not exist "%FTP_EXE%" (
- echo [错误] 找不到 %FTP_EXE%
- echo 请确保 ftp-server.exe 在脚本同目录下
- pause
- exit /b 1
- )
- :menu
- cls
- echo ========================================
- echo FTP Server 服务管理工具
- echo ========================================
- echo.
- echo 1. 安装服务 (注册为 Windows 服务)
- echo 2. 卸载服务
- echo 3. 启动服务
- echo 4. 停止服务
- echo 5. 重启服务
- echo 6. 查看服务状态
- echo 7. 开机自启 - 开启
- echo 8. 开机自启 - 关闭
- echo 9. 查看运行日志
- echo 0. 退出
- echo.
- set /p choice=请输入选项:
- if "%choice%"=="1" goto install
- if "%choice%"=="2" goto uninstall
- if "%choice%"=="3" goto start
- if "%choice%"=="4" goto stop
- if "%choice%"=="5" goto restart
- if "%choice%"=="6" goto status
- if "%choice%"=="7" goto enable
- if "%choice%"=="8" goto disable
- if "%choice%"=="9" goto logs
- if "%choice%"=="0" exit /b 0
- echo 无效选项
- pause
- goto menu
- :install
- echo [信息] 正在安装服务...
- sc create %SERVICE_NAME% binPath= "%FTP_EXE% -config %CONFIG_FILE%" start= demand DisplayName= "FTP Server with Web Management"
- if %errorlevel% equ 0 (
- echo [成功] 服务安装成功!
- echo [信息] 使用选项 3 启动服务,或选项 7 设置开机自启
- ) else (
- echo [失败] 服务安装失败
- )
- pause
- goto menu
- :uninstall
- echo [信息] 正在停止服务...
- net stop %SERVICE_NAME% >nul 2>&1
- echo [信息] 正在卸载服务...
- sc delete %SERVICE_NAME%
- if %errorlevel% equ 0 (
- echo [成功] 服务已卸载
- ) else (
- echo [失败] 服务卸载失败,可能服务不存在
- )
- pause
- goto menu
- :start
- echo [信息] 正在启动服务...
- net start %SERVICE_NAME%
- if %errorlevel% equ 0 (
- echo [成功] 服务已启动
- echo FTP端口: 2121
- echo Web管理: http://localhost:8080
- ) else (
- echo [失败] 服务启动失败
- )
- pause
- goto menu
- :stop
- echo [信息] 正在停止服务...
- net stop %SERVICE_NAME%
- if %errorlevel% equ 0 (
- echo [成功] 服务已停止
- ) else (
- echo [失败] 服务停止失败,可能服务未运行
- )
- pause
- goto menu
- :restart
- echo [信息] 正在重启服务...
- net stop %SERVICE_NAME% >nul 2>&1
- timeout /t 2 /nobreak >nul
- net start %SERVICE_NAME%
- if %errorlevel% equ 0 (
- echo [成功] 服务已重启
- ) else (
- echo [失败] 服务重启失败
- )
- pause
- goto menu
- :status
- echo [信息] 服务状态:
- sc query %SERVICE_NAME%
- echo.
- echo [信息] 服务配置:
- sc qc %SERVICE_NAME%
- pause
- goto menu
- :enable
- echo [信息] 正在设置开机自启...
- sc config %SERVICE_NAME% start= auto
- if %errorlevel% equ 0 (
- echo [成功] 已设置开机自启
- ) else (
- echo [失败] 设置失败
- )
- pause
- goto menu
- :disable
- echo [信息] 正在关闭开机自启...
- sc config %SERVICE_NAME% start= demand
- if %errorlevel% equ 0 (
- echo [成功] 已关闭开机自启
- ) else (
- echo [失败] 设置失败
- )
- pause
- goto menu
- :logs
- echo [信息] 最近的应用程序日志 (FTP Server):
- echo ========================================
- wevtutil qe Application /q:"*[System[Provider[@Name='%SERVICE_NAME%']]]" /c:20 /f:text /rd:true
- if %errorlevel% neq 0 (
- echo 暂无事件日志
- echo.
- echo 提示: 可以直接查看控制台输出或重定向日志到文件:
- echo %FTP_EXE% ^> server.log 2^>^&1
- )
- echo ========================================
- pause
- goto menu
|