作为我个人方案备份,不教方法。

创建文件夹

需要创建

C:\eveonline
C:\TY-eveonline
C:\eveonline\launcher
C:\eveonline\resources
C:\TY-eveonline\launcher
C:\TY-eveonline\resources

安装choco

以管理员身份运行powershell

执行

Set-ExecutionPolicy AllSigned

修改powershell脚本运行安全等级

使用

Get-ExecutionPolicy

获取当前安全等级

再执行

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装chocolatey

关闭PS的快速编辑

powershell使用快速编辑时,可能会导致界面在运行时一动不动,因此需要关闭。
右键powershell程序栏,选择属性,关闭powershell快速编辑和插入模式

安装aria2

使用

choco install aria2

来安装aria2,用来下载。

脚本

eveonline-launcher.ps1

##C:\eveonline为执行脚本所在文件夹
##C:\TY-eveonline为天翼云盘同步文件夹
##脚本运行需要创建C:\eveonline | C:\TY-eveonline | C:\eveonline\launcher | C:\TY-eveonline\launcher | C:\TY-eveonline\resources |C:\eveonline\resources\



Invoke-WebRequest -Method Get  "https://launcher.eveonline.com/launcherVersions.json" -OutFile "C:\eveonline\new_launcherVersions.txt"
##从json文件获取最新版本并保存到new_launcherVersions.txt中


$new_launcher = Get-Content "C:\eveonline\new_launcherVersions.txt"
$old_launcher = Get-Content "C:\eveonline\old_launcherVersions.txt"
##读取新与旧参数的文件,保存参数到new_launcher与old_launcher


$json_new_launcher =  $new_launcher | ConvertFrom-Json
$json_old_launcher =  $old_launcher | ConvertFrom-Json
##json规范化版本参数


$new_win = $json_new_launcher | Select-Object -ExpandProperty win
$old_win = $json_old_launcher | Select-Object -ExpandProperty win
##获取win的版本号


$new_mac = $json_new_launcher | Select-Object -ExpandProperty mac
$old_mac = $json_old_launcher | Select-Object -ExpandProperty mac
##获取mac的版本号


$new_linux = $json_new_launcher | Select-Object -ExpandProperty linux
$old_linux = $json_old_launcher | Select-Object -ExpandProperty linux
##获取linux的版本号


if (  Compare-Object $new_win $old_win ) {
    Remove-Item "C:\eveonline\launcher\EveLauncher.exe*"
    Remove-Item "C:\TY-eveonline\launcher\EveLauncher.exe*"
    aria2c --split=10 --max-connection-per-server=10 --dir="C:\eveonline\launcher\" --out=EveLauncher.exe "https://binaries.eveonline.com/EveLauncher-$new_win.exe"
    Get-FileHash "C:\eveonline\launcher\EveLauncher.exe" -Algorithm MD5 | Select-Object -ExpandProperty Hash > "C:\eveonline\launcher\EveLauncher.exe.md5"
  }
##如果win版本号不相同就下载win,并生成md5


if (  Compare-Object $new_mac $old_mac ) {
    Remove-Item "C:\eveonline\launcher\EveLauncher.dmg*"
    Remove-Item "C:\TY-eveonline\launcher\EveLauncher.dmg*"
    aria2c --split=10 --max-connection-per-server=10 --dir="C:\eveonline\launcher\" --out=EveLauncher.dmg "https://binaries.eveonline.com/EveLauncher-$new_mac.dmg"
    Get-FileHash "C:\eveonline\launcher\EveLauncher.dmg" -Algorithm MD5 | Select-Object -ExpandProperty Hash > "C:\eveonline\launcher\EveLauncher.dmg.md5"
  }
##如果mac版本号不相同就下载mac,并生成md5


if (  Compare-Object $new_linux $old_linux ) {
    Remove-Item "C:\eveonline\launcher\EveLauncher.tar.gz*"
    Remove-Item "C:\TY-eveonline\launcher\EveLauncher.tar.gz*"
    aria2c --split=10 --max-connection-per-server=10 --dir="C:\eveonline\launcher\" --out=EveLauncher.tar.gz "https://binaries.eveonline.com/evelauncher-$new_linux.tar.gz"
    Get-FileHash "C:\eveonline\launcher\EveLauncher.tar.gz" -Algorithm MD5 | Select-Object -ExpandProperty Hash > "C:\eveonline\launcher\EveLauncher.tar.gz.md5"
  }
##如果linux版本号不相同就下载linux,并生成md5


Copy-Item "C:\eveonline\new_launcherVersions.txt" "C:\eveonline\old_launcherVersions.txt"
##覆盖旧的文件,作为新的对比项


Move-Item -Path "C:\eveonline\launcher\*" -Destination "C:\TY-eveonline\launcher\"
##把文件转移到天翼云盘

everesources.ps1

##C:\eveonline为执行脚本所在文件夹
##C:\TY-eveonline为天翼云盘同步文件夹
##脚本运行需要创建C:\eveonline | C:\TY-eveonline | C:\eveonline\launcher | C:\TY-eveonline\launcher | C:\TY-eveonline\resources |C:\eveonline\resources\

Remove-Item "C:\eveonline\resources\*"
Remove-Item "C:\TY-eveonline\resources\*"
##删除旧文件


aria2c  --split=10 --max-connection-per-server=10 --dir="C:\eveonline\resources\"  https://binaries.eveonline.com/EVEResources.7z
##下载文件

Get-FileHash C:\eveonline\resources\EVEResources.7z -Algorithm MD5 | Select-Object -ExpandProperty Hash > C:\eveonline\resources\EVEResources.7z.md5

Move-Item -Path "C:\eveonline\resources\*" -Destination "C:\TY-eveonline\resources\"
##把文件转移到天翼云盘

将两脚本均放入C:\eveonline文件夹

修改ps安全等级

允许我个人编写的脚本运行

Set-ExecutionPolicy Unrestricted

执行

Get-ExecutionPolicy

查看是否修改成功。

调试

进入文件夹
先手动执行一次eveonline-launcher.ps1内的下载以及创建对比文件
主要是将生成的C:\eveonline\new_launcherVersions.txt改成C:\eveonline\old_launcherVersions.txt
手动修改C:\eveonline\old_launcherVersions.txt内的数字,再次执行./eveonline-launcher.ps1查看是否能正常比较。
再手动运行两个脚本,查看下载情况

./eveonline-launcher.ps1
./everesources.ps1

同步

手动执行,下载完后。
安装天翼云盘,本地连接ssr,然后天翼云盘使用ssr连接,再创建文件夹C:\TY-eveonline增量备份。
当每次备份文件不同时,不会修改文件名,而是覆盖备份。
这样可以保证文件夹内文件恒定为最新。

自动化运行

用Windows自带的计划任务程序来实现每天下载,自动上传功能

备份


参考:
chocolatey

最后修改:2020 年 07 月 14 日 07 : 43 PM