34 lines
1.6 KiB
PowerShell
34 lines
1.6 KiB
PowerShell
$SE_PATH = ""
|
|
|
|
#DETECT SE INSTALLATION
|
|
function DetectGamepath{
|
|
#CHECK FOR STEAM INSTALLATION
|
|
if(Test-Path -Path HKLM:\SOFTWARE\WOW6432Node\Valve\Steam)
|
|
{
|
|
#GET STEAM PATH FROM REGISTRY
|
|
$SteamInstallPath = Get-ItemPropertyValue -Path HKLM:\SOFTWARE\WOW6432Node\Valve\Steam -Name InstallPath
|
|
#READ .vdf WITH GAME DRIVE LOCATIONS
|
|
$libraryfolders = ("{`n" + ((Get-Content -Path $SteamInstallPath'\steamapps\libraryfolders.vdf' | Out-String) `
|
|
<#COMMIT REGEXAGE TO CONVERT VALVE FORMAT TO JSON#> `
|
|
-replace '"\t\t"', '": "' <# "KEY": "VALUE" #> `
|
|
-replace '"\r\n\s*{', '": {' <# "OBJECT": { #> `
|
|
-replace '"\r\n', "`",`n" <# "VALUE", #> `
|
|
-replace '",\n(\t+)\}', "`"`n`$1}" <# "VALUE" #> `
|
|
-replace '}(\r\n\s*")','},$1') <# }, #> `
|
|
+ "}" | ConvertFrom-Json).libraryfolders
|
|
#FIND A DRIVE THAT CONTAINS APPID OF 244850 WHICH IS SPACE ENGINEERS AS WE ALL KNOW
|
|
foreach ($drive in $libraryfolders.psobject.Properties)
|
|
{
|
|
if($drive.Value.apps.PSobject.Properties.name -contains "244850")
|
|
{
|
|
$SE_PATH = $drive.Value.path + '\steamapps\common\SpaceEngineers\Bin64'
|
|
}
|
|
}
|
|
ValidateGamepath
|
|
}else{
|
|
#STEAM LIKELY NOT INSTALLED
|
|
Write-Output "Steam not detected"
|
|
}
|
|
}
|
|
|
|
Copy-Item |