I made a fairly simple Batch file that automatically backups your save in the Machinarium directory. On start it copies it to your save path in the case it has been overwritten since reboot. You only need to launch it and the game gets started. After exit the save is backuped. Right now it only works if you installed the game through the supplied installer as it looks for the registry values. I only tested it on Win 7 64 and 32bit but I don't think the registry keys would get stored elsewhere. You could also manually edit the entry variable with your path to the game if the script doesn't work.
For batch scripts not using the registry,
see this post.IMPORTANT: You need to execute the script as Administrator otherwise it will not be allowed to write to disc! (on Vista, 7 you can do that by right-clicking on the file and selecting 'Run as administrator')
Open Notepad and copy paste the code below in it. File > Save As > From the drop down menu 'Save as type' choose 'All Files (*.*)' and append to the filename a '.bat' e.g. 'machinariumsavebackup.bat' > Save
You can run it from anywhere.
@echo off
cls
cd /D "%SYSTEMROOT%"
echo admintest > admintest
if exist admintest goto admin
echo Administrator Privileges not granted.
echo Batch needs to be run as Administrator in order to backup Saves.
echo.
CHOICE /M "Continue anyway"
if errorlevel 2 goto end
if errorlevel 1 goto noadmin
:admin
del admintest
:noadmin
cd /D "%AppData%\Macromedia\Flash Player\#SharedObjects"
FOR /F "tokens=*" %%a in ('dir /B') do @SET randomword=%%a
if "%processor_architecture%"=="x64" goto 64bit
if "%processor_architecture%"=="AMD64" goto 64bit
if "%processor_architew6432%"=="x64" goto 64bit
if "%processor_architew6432%"=="AMD64" goto 64bit
FOR /F "tokens=2,*" %%a in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Machinarium" /v UninstallString') DO @SET entry=%%b
if not "%entry%"=="" goto nextstandard
FOR /F "tokens=*" %%a IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" ^|Findstr /I "{*}"') DO CALL :keycheck %%a
goto nextdaedalic
:64bit
FOR /F "tokens=2,*" %%a in ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Machinarium" /v UninstallString') DO @SET entry=%%b
if not "%entry%"=="" goto nextstandard
FOR /F "tokens=*" %%a IN ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" ^|Findstr /I "{*}"') DO CALL :keycheck %%a
goto nextdaedalic
:keycheck
FOR /F "tokens=2,*" %%a in ('REG QUERY "%1" /v DisplayName') DO @SET displayname=%%b
if not "%displayname%"=="Machinarium" goto end
FOR /F "tokens=2,*" %%a in ('REG QUERY "%1" /v InstallLocation') DO @SET entry=%%b
goto end
:nextstandard
set apppath=%entry:~0,-11%
goto postregistry
:nextdaedalic
set apppath=%entry:~0,-1%
:postregistry
if not exist "%apppath%\machinarium.exe" goto nomachin
set "savepath=%AppData%\Macromedia\Flash Player\#SharedObjects\%randomword%\localhost\%apppath:~3%\machinarium.exe\Machinarium.sol"
if exist "%savepath%" goto next2
cd "%randomword%"
mkdir "localhost\%apppath:~3%\machinarium.exe"
:next2
cd /D %apppath%
if not exist Machinarium.sol goto nosol
copy /V /Y Machinarium.sol "%savepath%"
:nosol
machinarium.exe
copy /V /Y "%savepath%" Machinarium.sol
goto end
:nomachin
echo.
echo 'machinarium.exe' could not be located!
echo Make sure you installed the game with the official installer.
echo.
pause
:end
EDIT: Another one once executed brings you directly to the the save folder. Intended to work with installed game. I'm pretty sure it will fail if you never started the game once. You don't need to run it as Administrator.
@echo off
cls
cd /D "%AppData%\Macromedia\Flash Player\#SharedObjects"
FOR /F "tokens=*" %%a in ('dir /B') do @SET randomword=%%a
if "%processor_architecture%"=="x64" goto 64bit
if "%processor_architecture%"=="AMD64" goto 64bit
if "%processor_architew6432%"=="x64" goto 64bit
if "%processor_architew6432%"=="AMD64" goto 64bit
FOR /F "tokens=2,*" %%a in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Machinarium" /v UninstallString') DO @SET entry=%%b
if not "%entry%"=="" goto nextstandard
FOR /F "tokens=*" %%a IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" ^|Findstr /I "{*}"') DO CALL :keycheck %%a
goto nextdaedalic
:64bit
FOR /F "tokens=2,*" %%a in ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Machinarium" /v UninstallString') DO @SET entry=%%b
if not "%entry%"=="" goto nextstandard
FOR /F "tokens=*" %%a IN ('REG QUERY "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" ^|Findstr /I "{*}"') DO CALL :keycheck %%a
goto nextdaedalic
:keycheck
FOR /F "tokens=2,*" %%a in ('REG QUERY "%1" /v DisplayName') DO @SET displayname=%%b
if not "%displayname%"=="Machinarium" goto end
FOR /F "tokens=2,*" %%a in ('REG QUERY "%1" /v InstallLocation') DO @SET entry=%%b
goto end
:nextstandard
set apppath=%entry:~0,-11%
goto postregistry
:nextdaedalic
set apppath=%entry:~0,-1%
:postregistry
if not exist "%apppath%\machinarium.exe" goto nomachin
start explorer /root,"%AppData%\Macromedia\Flash Player\#SharedObjects\%randomword%\localhost\%apppath:~3%\machinarium.exe"
goto end
:nomachin
echo.
echo 'machinarium.exe' could not be located!
echo Make sure you installed the game with the official installer.
echo.
pause
:end
EDIT2:added some lines to the registry backup script to be CCleaner and possibly other Private file cleaner safe.
EDIT3:updated registry backup script. Now it can determine if it was executed as admin and display a message accordingly. Also added support for the german Daedalic version.
Updated jump to save folder script to be compatible with the german Daedalic version and display a message if no install was found.