nextcloud-helper/nextcloud/hardlinks/zz_subcall_hardlinks_install.bat

261 lines
No EOL
7.5 KiB
Batchfile

@echo off
fltmc >nul 2>&1 && (
echo has admin permissions
) || (
echo has NOT admin permissions
goto quitscript_keepalive
)
REM ***************************************************************
REM *** Starbound
REM ***************************************************************
call :link_steam "\Starbound\storage\player" "starbound-player-FU"
call :link_steam "\Starbound\storage\universe" "starbound-universe-FU"
REM ***************************************************************
REM *** Avorion
REM ***************************************************************
call :link_appdata "Avorion\galaxies" "avorion-galaxies"
call :link_appdata "Avorion\ships" "avorion-ships"
REM ***************************************************************
REM *** Empyrion
REM ***************************************************************
call :link_steam "Empyrion - Galactic Survival\Saves\Games" "empyrion-worlds"
call :link_steam "Empyrion - Galactic Survival\Saves\Blueprints" "empyrion-blueprints"
REM ***************************************************************
REM *** Minecraft
REM ***************************************************************
call :link_appdata ".minecraft" "minecraft"
REM ***************************************************************
REM *** World of Warcraft
REM ***************************************************************
call :link_games "World of Warcraft\_retail_\Interface\AddOns" "wow-addons"
REM ***************************************************************
REM *** Kerbal Space Program
REM ***************************************************************
call :link_steam_sublinks "Kerbal Space Program\GameData" "ksp-addons"
REM call :link_steam_sublinks "Kerbal Space Program\saves" "ksp-saves"
REM ***************************************************************
REM *** Subnautica
REM ***************************************************************
call :link_steam_sublinks "Subnautica\SNAppData\SavedGames" "subnautica"
REM ***************************************************************
REM *** The Sims 3
REM ***************************************************************
call :link_user "Documents\Electronic Arts\The Sims 3\Library" "thesims3-library"
call :link_user "Documents\Electronic Arts\The Sims 3\Saves" "thesims3-saves"
call :link_user "Documents\Electronic Arts\The Sims 3\Collections" "thesims3-collections"
call :link_user "Documents\Electronic Arts\The Sims 3\CurrentGame.sims3" "thesims3-currentgame"
REM ***************************************************************
REM *** Stationeers
REM ***************************************************************
call :link_user "Documents\My Games\Stationeers" "stationeers"
REM ***************************************************************
REM *** Astroneer
REM ***************************************************************
call :link_user "AppData/Local/Astro/Saved/SaveGames" "astroneer"
REM ***************************************************************
REM *** No Mans Sky
REM ***************************************************************
call :link_appdata "HelloGames/NMS" "nms"
REM ***************************************************************
REM *** Sailwind
REM ***************************************************************
call :link_locallow "Raw Lion Workshop\Sailwind" "sailwind"
REM ***************************************************************
REM *** Baldur's Gate 3
REM ***************************************************************
call :link_local "Larian Studios\Baldur's Gate 3\PlayerProfiles\Public\Savegames\Story" "bg3"
GOTO quitscript_final
:link_steam
set GAME=%1
set GAME=%GAME:"=%
set CLOUD=%2
set CLOUD=%CLOUD:"=%
dir "%STEAMAPP_C%\%GAME%*" | find "<SYMLINKD>" || (
ren "%STEAMAPP_C%\%GAME%" %CLOUD%-nclocal
)
rmdir "%STEAMAPP_C%\%GAME%"
mklink /D "%STEAMAPP_C%\%GAME%" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%"
dir "%STEAMAPP_D%\%GAME%*" | find "<SYMLINKD>" || (
ren "%STEAMAPP_D%\%GAME%" %CLOUD%-nclocal
)
rmdir "%STEAMAPP_D%\%GAME%"
mklink /D "%STEAMAPP_D%\%GAME%" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%"
exit /b
:link_games
set GAME=%1
set GAME=%GAME:"=%
set CLOUD=%2
set CLOUD=%CLOUD:"=%
dir "C:\Games_SSD\%GAME%*" | find "<SYMLINKD>" || (
ren "C:\Games_SSD\%GAME%" %CLOUD%-nclocal
)
rmdir "C:\Games_SSD\\%GAME%"
mklink /D "C:\Games_SSD\%GAME%" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%"
dir "D:\Games\%GAME%*" | find "<SYMLINKD>" || (
ren "D:\Games\%GAME%" %CLOUD%-nclocal
)
rmdir "D:\Games\%GAME%"
mklink /D "D:\Games\%GAME%" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%"
exit /b
:link_appdata
set GAME=%1
set GAME=%GAME:"=%
set CLOUD=%2
set CLOUD=%CLOUD:"=%
dir "%APPDATA%\%GAME%*" | find "<SYMLINKD>" || (
ren "%APPDATA%\%GAME%" %CLOUD%-nclocal
)
rmdir "%APPDATA%\%GAME%"
mklink /D "%APPDATA%\%GAME%" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%"
exit /b
:link_user
set GAME=%1
set GAME=%GAME:"=%
set CLOUD=%2
set CLOUD=%CLOUD:"=%
dir "%USERPROFILE%\%GAME%*" | find "<SYMLINKD>" || (
ren "%USERPROFILE%\%GAME%" %CLOUD%-nclocal
)
rmdir "%USERPROFILE%\%GAME%"
mklink /D "%USERPROFILE%\%GAME%" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%"
exit /b
:link_locallow
set GAME=%1
set GAME=%GAME:"=%
set CLOUD=%2
set CLOUD=%CLOUD:"=%
dir "%USERPROFILE%\AppData\LocalLow\%GAME%*" | find "<SYMLINKD>" || (
ren "%USERPROFILE%\AppData\LocalLow\%GAME%" %CLOUD%-nclocal
)
rmdir "%USERPROFILE%\AppData\LocalLow\%GAME%"
mklink /D "%USERPROFILE%\AppData\LocalLow\%GAME%" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%"
exit /b
:link_local
set GAME=%1
set GAME=%GAME:"=%
set CLOUD=%2
set CLOUD=%CLOUD:"=%
dir "%USERPROFILE%\AppData\Local\%GAME%*" | find "<SYMLINKD>" || (
ren "%USERPROFILE%\AppData\Local\%GAME%" %CLOUD%-nclocal
)
rmdir "%USERPROFILE%\AppData\Local\%GAME%"
mklink /D "%USERPROFILE%\AppData\Local\%GAME%" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%"
exit /b
:link_steam_sublinks
set GAME=%1
set GAME=%GAME:"=%
set CLOUD=%2
set CLOUD=%CLOUD:"=%
REM For directories we use mklink to create a hard link
REM Iterate through Directories on C
for /D %%s in ("%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%\"*) do (
dir "%STEAMAPP_C%\%GAME%\%%~nxs*" | find "<SYMLINKD>" || (
ren "%STEAMAPP_C%\%GAME%\%%~nxs" %%~nxs-nclocal
)
rmdir "%STEAMAPP_C%\%GAME%\%%~nxs"
mklink /D "%STEAMAPP_C%\%GAME%\%%~nxs" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%\%%~nxs"
)
REM Iterate through Directories on D
for /D %%s in ("%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%\"*) do (
dir "%STEAMAPP_D%\%GAME%\%%~nxs*" | find "<SYMLINKD>" || (
ren "%STEAMAPP_D%\%GAME%\%%~nxs" %%~nxs-nclocal
)
rmdir "%STEAMAPP_D%\%GAME%\%%~nxs"
mklink /D "%STEAMAPP_D%\%GAME%\%%~nxs" "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%\%%~nxs"
)
REM For files we just copy them
REM Iterate through Files on C
for %%s in ("%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%\"*) do (
dir "%STEAMAPP_C%\%GAME%\%%~nxs" | find "<SYMLINKD>" || (
ren "%STEAMAPP_C%\%GAME%\%%~nxs" %%~nxs-nclocal
)
copy /y "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%\%%~nxs" "%STEAMAPP_C%\%GAME%\%%~nxs"
)
REM Iterate through Files on D
for %%s in ("%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%\"*) do (
dir "%STEAMAPP_C%\%GAME%\%%~nxs" | find "<SYMLINKD>" || (
ren "%STEAMAPP_D%\%GAME%\%%~nxs" %%~nxs-nclocal
)
copy /y "%USERPROFILE%\Nextcloud\hardlinks\%CLOUD%\%%~nxs" "%STEAMAPP_D%\%GAME%\%%~nxs"
)
exit /b
REM ***************************************************************
REM *** END OF SCRIPT
REM ***************************************************************
goto quitscript_final
:quitscript_keepalive
pause>nul
GOTO quitscript_keepalive
:quitscript_final
pause