Midoryu1
Spiele-Novize/Novizin
- Mitglied seit
- 24.05.2012
- Beiträge
- 118
- Reaktionspunkte
- 13
Vielen Dank schon mal. Werde es frühestens am Wochenende ausprobieren können. Dann schau ich mal wie weit ich komme!
Klasse gemacht bisher!![]()
Kein Problem. Habe natürlich alles ausgetestet und Sicherheitsabfragen eingebaut(das viele "goto error"), funktioniert soweit und sollte es mal nicht, wird die Batch anhalten und Dir sagen, wo das Problem liegt.
Ich schau hier auf jeden Fall wieder rein, wenn's Probleme gibt, einfach Laut geben. Ich könnte noch prüfen lassen, ob der Speicherordner existiert, bevor das Backup gelöscht wird, so wäre in jedem Fall sichergestellt, dass immer mindestens eine Kopie der Speicherstände in Reichweite ist, falls was schiefläuft.
Tadaa, hier ist das überarbeitete Skript:
Code:
prompt $
cls
:SETUP
@echo off
echo.
echo Pfade werden festgelegt.
echo.
echo.
@echo off
set GAME=SPIELNAME
set SOURCE=C:\Users\Midoryu\Desktop\SOURCE
set DESTINATION=C:\Users\Midoryu\Desktop\BATCHTEST\DEST
echo Spielbezeichnung: %GAME%
echo Quellverzeichnis: %SOURCE%
echo Zielverzeichis: %DESTINATION%
IF NOT EXIST "%SOURCE%" ( goto NOSOURCE )
IF NOT EXIST "%DESTINATION%" ( goto NODEST )
:DCHECK
@echo off
IF NOT EXIST "%DESTINATION%\%GAME%\%GAME% %date%" ( goto COPY )
:DELETION
echo.
echo Bestehendes Zielverzeichnis wird zurueckgesetzt.
echo.
echo.
@echo on
rd /s /q "%DESTINATION%\%GAME%\%GAME% %date%"|| goto error2
:COPY
@echo off
echo.
echo Kopieren wird gestartet.
echo.
echo.
@echo on
xcopy /r /s /d /y "%SOURCE%\*" "%DESTINATION%\%GAME%\%GAME% %date%\" || goto error1
@echo off
goto end
:ERROR1
@echo off
echo.
echo.
echo Waehrend des Kopierens ist ein Fehler aufgetreten, Pfade ueberpruefen.
echo.
pause>nul
exit
:ERROR2
@echo off
echo.
echo.
echo Zielverzeichnis konnte nicht geloescht werden, Pfad und Syntax ueberpruefen.
echo.
pause>nul
exit
:NOSOURCE
@echo off
echo.
echo Quellordner nicht verfuegbar, Operation abgebrochen. Pfade pruefen.
echo.
pause>nul
exit
:NODEST
@echo off
echo.
echo Zielverzeichnis nicht verfuegbar, Operation abgebrochen. Pfade pruefen.
echo (BEACHTE: Spielbezeichnung wird automatisch ergaenzt, Pfad zum uebergeordenten Backupordner angeben.)
echo.
pause>nul
exit
:END
@echo off
echo.
echo.
echo Operation abgeschlossen.
echo.
pause>nul
exit
Okay, das sollte jetzt narrensicher sein, wenn auch nur ein Fehler auftritt, hält das Skript an und sagt, was schiefgelaufen ist.
Beziehungsweise startet erst gar nicht, wenn Fehlinformationen vorliegen.
Midoryu
Zuletzt bearbeitet: