游戏存档路径:%USERPROFILE%/AppData/Local/Pal/Saved/SaveGames/
修改系统时间快速刷新事件。
通过PowerShell脚本,可以快速修改游戏事件,省去系统设置修改时间的繁琐流程。
操作有风险,处理不当会导致透支未来时间!!!
操作有风险,处理不当会导致透支未来时间!!!
操作有风险,处理不当会导致透支未来时间!!!
步骤
1、Win+E打开资源管理器,在地址栏中输入路径:%USERPROFILE%/AppData/Local/Pal/Saved/SaveGames/
2、进入幻兽帕鲁存档目录。
3、进入需要更改的游戏存档路径。
4、新建.ps1文件和SaveGames文件夹。(代码在文末)
5、将代码粘贴至.ps1文件中并保存。
6、将Players文件夹备份至SaveGames文件夹中。
7、运行PowerShell文件。
8、进行相关操作。
代码如下
if (-not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
Write-Warning "请以管理员权限运行此脚本。"
Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs
exit
}
Write-Host @"
*******************************************************************
* *
* 欢迎使用游戏存档时间修改脚本。 *
* *
* 此脚本将帮助您快速调整系统的时间。 *
* *
* 游戏存档路径:%USERPROFILE%/AppData/Local/Pal/Saved/SaveGames/ *
* *
* 1. 请注意,在使用脚本之前请备份游戏文件,以防止存档损坏。 *
* 2. 如果修改或同步时间未成功,请再次尝试或手动设置。 *
* 3. 在修改时间之前,请将Players文件夹备份至SaveGames文件夹内。 *
* 4. 修改时间时,请确保最后一次运行游戏后进行操作。 *
* *
*******************************************************************
"@
function MainMenu {
Write-Host "请选择一个选项:`n1. 调整系统时间`n2. 替换文件`n3. 同步系统时间`n4. 退出脚本`n"
$choice = Read-Host "请输入选项编号: "
switch ($choice) {
"1" { TimeChange }
"2" { ConfirmFileReplace }
"3" { ConfirmTimeSync }
"4" { ExitScript }
default {
Write-Host "无效的选项,请重新选择。`n"
MainMenu
}
}
}
function TimeChange {
$newTime = (Get-Date).AddHours(3)
try {
Set-Date -Date $newTime -ErrorAction Stop
$formattedTime = Get-Date -Format "yyyy年M月d日 HH:mm:ss"
Write-Host "时间已调整为 $formattedTime`n"
}
catch {
Write-Host "时间调整失败,请检查权限和设置。`n"
}
MainMenu
}
function ConfirmFileReplace {
$confirm = Read-Host "您确定要将 SaveGames 文件夹中的内容复制到当前目录吗?(Y/N): "
if ($confirm.ToUpper() -eq "Y") {
$sourceFolder = Join-Path $PSScriptRoot "SaveGames"
$destinationFolder = $PSScriptRoot
Write-Host "源文件夹路径: $sourceFolder`n"
Write-Host "目标文件夹路径: $destinationFolder`n"
if (-not (Test-Path -Path $sourceFolder)) {
Write-Host "SaveGames 文件夹不存在.`n"
MainMenu
return
}
Write-Host "开始复制文件...`n"
try {
Copy-Item -Path "$sourceFolder\*" -Destination $destinationFolder -Recurse -Force -ErrorAction Stop
Write-Host "文件已替换.`n"
}
catch {
Write-Host "文件替换失败: $_`n"
}
}
MainMenu
}
function ConfirmTimeSync {
$confirm = Read-Host "您确定要同步系统时间吗?(Y/N): "
if ($confirm.ToUpper() -eq "Y") {
w32tm /config /syncfromflags:manual /manualpeerlist:"time.windows.com"
w32tm /config /reliable:YES
w32tm /config /update
w32tm /resync
if ($LASTEXITCODE -eq 0) {
Write-Host "系统时间已同步。`n"
} else {
Write-Host "时间同步失败,请检查权限和网络连接。`n"
}
}
MainMenu
}
function ExitScript {
Write-Host "脚本即将退出.`n"
Read-Host "按任意键退出..."
exit
}
MainMenu