Windows下nginx的启动,重启,关闭等功能bat脚本

2023-12-14 04:15:33

window下通过新建txt文件然后改成.bat的文件,输入内容后,执行出现中文乱码?(为了解决运行问题

原因:

批处理文件,是以ANSI编码方式。若以别的方式(如UTF-8)编辑了批处理,转换成ANSI格式即可,正常创建的文件的格式都是utf-8的。
解决:
1.使用windows自带的记事本编辑,然后另存的时候,可选择编码方式即可。
2.在代码里修改执行时的编码格式:

@echo off
REM 后续命令使用的是:UTF-8编码
chcp 65001
echo 中文测试
pause

小知识了解一下:
doc 代码页(自行百度):

chcp 65001  就是换成UTF-8代码页
chcp 936 可以换回默认的GBK
chcp 437 是美国英语  
cmd   脚本文件的描述是 “windows nt命令脚本” 
bat   脚本文件的描述是 “ms dos批处理文件”   

运行效果:在这里插入图片描述
**

代码如下:

**

@echo off
rem 提供Windows下nginx的启动,重启,关闭功能
  
echo ==================begin========================
  
cls
::ngxin 所在的盘符
set NGINX_PATH=G:
  
::nginx 所在目录
set NGINX_DIR=G:\projects\nginx-1.24.0\
color 0a
TITLE Nginx 管理程序增强版
  
CLS
  
echo.
echo. ** Nginx 管理程序  ***
echo. *** create 2023-12-10 ***
echo.
  
:MENU
  
echo. ***** nginx 进程list ******
::tasklist|findstr /i "nginx.exe"
tasklist /fi "imagename eq nginx.exe"
  
echo.
  
    if ERRORLEVEL 1 (
        echo nginx.exe不存在
    ) else (
        echo nginx.exe存在
    )
  
echo.
::*************************************************************************************************************
echo.
    echo.  [1] 启动Nginx 
    echo.  [2] 关闭Nginx 
    echo.  [3] 重启Nginx
    echo.  [4] 刷新控制台 
    echo.  [5] 重新加载Nginx配置文件
    echo.  [6] 检查测试nginx配置文件
    echo.  [7] 查看nginx version
    echo.  [0] 退 出
echo.
  
echo.请输入选择的序号:
set /p ID=
    IF "%id%"=="1" GOTO start
    IF "%id%"=="2" GOTO stop
    IF "%id%"=="3" GOTO restart
    IF "%id%"=="4" GOTO MENU
    IF "%id%"=="5" GOTO reloadConf
    IF "%id%"=="6" GOTO checkConf
    IF "%id%"=="7" GOTO showVersion
    IF "%id%"=="0" EXIT
PAUSE
  
::*************************************************************************************************************
::启动
:start
    call :startNginx
    GOTO MENU
  
::停止
:stop
    call :shutdownNginx
    GOTO MENU
  
::重启
:restart
    call :shutdownNginx
    call :startNginx
    GOTO MENU
  
::检查测试配置文件
:checkConf
    call :checkConfNginx
    GOTO MENU
  
::重新加载Nginx配置文件
:reloadConf
    call :checkConfNginx
    call :reloadConfNginx
    GOTO MENU
     
::显示nginx版本
:showVersion
    call :showVersionNginx
    GOTO MENU  
     
     
::*************************************************************************************
::底层
::*************************************************************************************
:shutdownNginx
    echo.
    echo.关闭Nginx......
    taskkill /F /IM nginx.exe > nul
    echo.OK,关闭所有nginx 进程
    goto :eof
  
:startNginx
    echo.
    echo.启动Nginx......
    IF NOT EXIST "%NGINX_DIR%nginx.exe" (
        echo "%NGINX_DIR%nginx.exe"不存在
        goto :eof
     )
  
    %NGINX_PATH%
    cd "%NGINX_DIR%"
  
    IF EXIST "%NGINX_DIR%nginx.exe" (
        echo "start '' nginx.exe"
        start "" nginx.exe
    )
    echo.OK
    goto :eof
     
  
:checkConfNginx
    echo.
    echo.检查测试 nginx 配置文件......
    IF NOT EXIST "%NGINX_DIR%nginx.exe" (
        echo "%NGINX_DIR%nginx.exe"不存在
        goto :eof
     )
  
    %NGINX_PATH%
    cd "%NGINX_DIR%"
    nginx -t -c conf/nginx.conf
  
    goto :eof
     
::重新加载 nginx 配置文件
:reloadConfNginx
    echo.
    echo.重新加载 nginx 配置文件......
    IF NOT EXIST "%NGINX_DIR%nginx.exe" (
        echo "%NGINX_DIR%nginx.exe"不存在
        goto :eof
     )
  
    %NGINX_PATH%
    cd "%NGINX_DIR%"
    nginx -s reload
  
    goto :eof
     
::显示nginx版本
:showVersionNginx
    echo.
    %NGINX_PATH%
    cd "%NGINX_DIR%"
    nginx -V
    goto :eof``

文章来源:https://blog.csdn.net/weixin_44749255/article/details/134904505
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。