Automatisches Backup mit Batch Datei

Ich würde vorschlagen, du erstellst eine Batch, mit der du das Spiel aufrufst, dann rufst du eine Schleife auf, in der du immer wieder den Spielstand sicherst, bis das Programm geschlossen wird. Dazu prüfst du in jedem Schleifendurchgang mit tasklist, ob du das Programm noch unter den laufenden Prozessen findest.
So in der Art etwa:
Code:
@echo off
REM Programm starten. Die ersten "" braucht man nur wegen der Leerzeichen im Programmpfad, Eigenheit von start, nicht so wichtig
start "" "C:\Program Files\Microsoft Games\Solitaire\Solitaire.exe"
REM 5 Sekunden warten, falls das Spiel erstmal etwas Zeit braucht zum laden
timeout /t 5
echo Programm gestartet

REM erste Sicherung
if exist backup5.7z del backup5.7z
if exist backup4.7z ren backup4.7z backup5.7z
if exist backup3.7z ren backup3.7z backup4.7z
if exist backup2.7z ren backup2.7z backup3.7z
if exist backup.7z ren backup.7z backup2.7z
"C:\Program Files\7-Zip\7z.exe" a "backup" "zu_scihernde_Datei/ordner"



:Sprungmarke
REM 5 Minuten warten zwischen jedem Durchgang
timeout /t 300

REM Überprüfen, ob der Prozess noch läuft (find sucht in der Ausgabe von tasklist. Wenn es den Prozess nicht findet, gibt es einen Fehler aus)
tasklist /FI "IMAGENAME eq solitaire.exe" 2>NUL | find /I /N "solitaire.exe">NUL
if "%ERRORLEVEL%" neq "0" goto :ende

if exist backup5.7z del backup5.7z
if exist backup4.7z ren backup4.7z backup5.7z
if exist backup3.7z ren backup3.7z backup4.7z
if exist backup2.7z ren backup2.7z backup3.7z
if exist backup.7z ren backup.7z backup2.7z
"C:\Program Files\7-Zip\7z.exe" a "backup" "zu_scihernde_Datei/ordner"

goto :Sprungmarke


:ende
echo Programm wurde beendet
 
Vielen Dank erstmal. Ich habe die Pfade (hoffentlich) richtig angepasst. Werde das gleich mal ausprobieren.

Edit:
simpsonsfan schrieb:
Ich würde vorschlagen, du erstellst eine Batch, mit der du das Spiel aufrufst, dann rufst du eine Schleife auf, in der du immer wieder den Spielstand sicherst, bis das Programm geschlossen wird. Dazu prüfst du in jedem Schleifendurchgang mit tasklist, ob du das Programm noch unter den laufenden Prozessen findest.

Es klappt wunderbar! Vielen vielen Dank für die Hilfe. Eine Frage bleibt jetzt noch offen: Wie kann ich den Speicherort der Backups anpassen?
 
Zuletzt bearbeitet:
"C:\Program Files\7-Zip\7z.exe" a "backup" "zu_scihernde_Datei/ordner"
"backup" ist hier natürlich das Ziel und du könntest auch einen Pfad im Namen benutzen
Oder eine Variable die man nur einmal setzt:
set BACKUP_LOCATION=C:\meinPfad\meinUnterordner\

"C:\Program Files\7-Zip\7z.exe" a "%BACKUP_LOCATION%backup" "zu_scihernde_Datei/ordner"
Aber %BACKUP_LOCATION% muss dann auch bei den ren Befehlen verwendet werden.
 
Zurück
Oben