该脚本由ChatGPT、Claude联合调整而成,目前还是好用的。
运行于Win11下, .ps1后缀。
name.ps1
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
| # 设置执行环境为 UTF-8 [Console]::OutputEncoding = [System.Text.Encoding]::UTF8
# 运行 hexo clean hexo clean
# 设置LF和CRLF的转换, 这个好像不是这样搞的,算了。 git config --global core.autocrlf false
# 检查退出状态 if ($LASTEXITCODE -ne 0) { Write-Host "hexo clean 失败,请检查错误日志。" Exit 1 }
# 运行 hexo generate hexo generate
# 检查退出状态 if ($LASTEXITCODE -ne 0) { Write-Host "hexo generate 失败,请检查错误日志。" Exit 1 }
# ------------------------------------------------- # # hexo deploy
# # if ($LASTEXITCODE -ne 0) { # Write-Host "hexo deploy 失败,请检查错误日志。" # Exit 1 # }
# Write-Output "Hexo, 部署成功!" # -------------------------------------------------- # 初始化变量 $deploySuccess = $false $maxAttempts = 20 $attemptCount = 0
while (-not $deploySuccess -and $attemptCount -lt $maxAttempts) {
# 运行 hexo deploy hexo deploy
# 检查退出状态 if ($LASTEXITCODE -eq 0) { $deploySuccess = $true Write-Output "Hexo 部署成功!" } else { Write-Host "hexo deploy 失败,请检查错误日志。" $attemptCount++ Start-Sleep -Seconds 10 # 等待一段时间后重试 } }
if (-not $deploySuccess) { Write-Host "达到最大尝试次数,部署仍然失败。" Exit 1 }
|