Skip to content

Instantly share code, notes, and snippets.

@ozturkkl
Created August 2, 2024 05:02
Show Gist options
  • Save ozturkkl/9c37052af38ec1b07649c0fa998bb0ed to your computer and use it in GitHub Desktop.
Save ozturkkl/9c37052af38ec1b07649c0fa998bb0ed to your computer and use it in GitHub Desktop.
Launches Ableton Live without prompting the user for recovery
@echo off
setlocal enabledelayedexpansion
set BASE_PATH=%AppData%\Ableton
set ABLETON_LIVE_PATH=%ProgramData%\Ableton\Live 12 Lite\Program\Ableton Live 12 Lite.exe
set LATEST_VERSION=0
set LATEST_VERSION_PATH=
goto :main
:checkIfVersionNumber
setlocal
set "str=%~1"
set "isNumber=1"
for /L %%i in (0,1,9) do (
set "str=!str:%%i=!"
)
set "str=!str:.=!"
if defined str set "isNumber=0"
endlocal & set "%~2=%isNumber%"
goto :eof
:main
setlocal
for /d %%d in ("%BASE_PATH%\Live *") do (
set "DIR_NAME=%%~nxd"
echo Found dirname: !DIR_NAME!
set "VERSION=!DIR_NAME:Live =!"
echo Found directory: %%d
echo Extracted version: !VERSION!
call :checkIfVersionNumber "!VERSION!" isNumber
if "!isNumber!"=="1" (
echo !VERSION! is a number.
if "!VERSION!" gtr "!LATEST_VERSION!" (
echo New latest version found: !VERSION!
set "LATEST_VERSION=!VERSION!"
set "LATEST_VERSION_PATH=%%d"
)
) else (
echo !VERSION! is not a number.
)
)
if defined LATEST_VERSION_PATH (
echo Latest version path: %LATEST_VERSION_PATH%
set CRASH_DETECTION_PATH=%LATEST_VERSION_PATH%\Preferences\CrashDetection.cfg
set CRASH_RECOVERY_INFO_PATH=%LATEST_VERSION_PATH%\Preferences\CrashRecoveryInfo.cfg
set BAK_PATH=%BASE_PATH%\Backup
if exist "!BAK_PATH!" rmdir /s /q "!BAK_PATH!"
mkdir "!BAK_PATH!"
xcopy /s /y /e "!LATEST_VERSION_PATH!\*" "!BAK_PATH!"
if exist "!CRASH_DETECTION_PATH!" (
echo Deleting !CRASH_DETECTION_PATH!
del "!CRASH_DETECTION_PATH!"
) else (
echo !CRASH_DETECTION_PATH! not found.
)
if exist "!CRASH_RECOVERY_INFO_PATH!" (
echo Deleting !CRASH_RECOVERY_INFO_PATH!
del "!CRASH_RECOVERY_INFO_PATH!"
) else (
echo !CRASH_RECOVERY_INFO_PATH! not found.
)
start "" "!ABLETON_LIVE_PATH!"
) else (
echo No Ableton Live version folder found.
)
endlocal
goto :eof
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment