1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
| @echo off chcp 65001 >nul
set BLOG_ROOT=D:\blog\hexo-blog
echo ======================================== echo 开始自动发布Hexo博客 echo ========================================
if not exist "%BLOG_ROOT%" ( echo 错误: 博客目录 %BLOG_ROOT% 不存在 pause exit /b 1 )
cd /d "%BLOG_ROOT%"
if not exist "_config.yml" ( echo 错误: %BLOG_ROOT% 不是Hexo博客目录(缺少 _config.yml 文件) pause exit /b 1 )
if not exist "source" ( echo 错误: %BLOG_ROOT% 不是Hexo博客目录(缺少 source 目录) pause exit /b 1 )
echo 当前工作目录: %cd% echo 正在执行 hexo clean... call hexo clean if %errorlevel% neq 0 ( echo 错误: hexo clean 执行失败,请检查错误信息 pause exit /b %errorlevel% )
echo. echo 正在执行 hexo generate... call hexo generate if %errorlevel% neq 0 ( echo 错误: hexo generate 执行失败,请检查错误信息 pause exit /b %errorlevel% )
:menu echo. echo 请选择接下来的操作: echo 1. 启动本地服务器 (hexo server) echo 2. 部署到远程 (hexo deploy) echo 3. 访问网站 (blog.just-ok.xyz) echo 4. 退出 echo.
set /p choice=请输入选项 (1/2/3/4):
if "%choice%"=="1" ( echo. echo 正在启动本地服务器...
start "Hexo Server" cmd /c "hexo server"
timeout /t 3 /nobreak >nul start "" "http://localhost:4000" echo 服务器已在后台运行,浏览器已打开 echo 要停止服务器,请关闭新打开的命令行窗口
goto menu ) else if "%choice%"=="2" ( echo. echo 正在部署到远程服务器... call hexo deploy if %errorlevel% neq 0 ( echo 错误: hexo deploy 部署失败,请检查错误信息 pause exit /b %errorlevel% ) echo. echo 博客已成功部署!
goto menu ) else if "%choice%"=="4" ( echo 已取消操作,退出脚本 exit /b 0 ) else if "%choice%"=="3" ( echo. echo 正在打开博客网站... start "" "https://blog.just-ok.xyz" echo 浏览器已打开
goto menu )else ( echo 无效选项,请重新选择 goto menu )
echo. echo 脚本执行完成 pause
|