meisterigel
Goto Top

backup Batch

Backup Batch

Hallo

ich habe mit den Informationen die mir das Forum geliefert hat eine echt COOLE Backup.bat gebaut alles geht super es wird ein Ordner mit dem Aktuellen Datum erzeugt und in diesen Ordner werden alle zu sichernden Daten gesichert.
Nun mein Problem ich habe Verzeichnisse die auf verschiedene Partitionen verteilt sind (z.B. C:\eigeneDateien ; D:\balbal) diese möchte ich nun nacheinander sichern das geht nun auch ohne Probleme das Problem ist nur er wirft die Daten aus eigenedateien und blabla alle in einen Ordner und das ist nicht gut. Nun zeige ich euch mal mein Script und sage euch danach meine Lösungsidee.
+++++++++++++++++++++backup.bat+++++++++++++++++
REM --------------------------------------- Quelle und Ziehl ----------------

REM ---Der Ort der Quelldatei wird aus der quellen.txt glesen

FOR /f "delims=" %%f IN (quellen.txt) DO call :loop "%%f"  
goto ende

ANGABEN!!!-----------------------------------------------------------------------

:loop 
set von="%~1"  
set ordner="c"  
set ziel="c:\SICHERUNG\"  



REM --------------------------------------- 
REM --------------------------------------- 
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set datum=%tag%.%monat%.%jahr%
set nach="%ziel%%datum%\%ordner%\"  


REM --------------------------------------- Logdatei wird geschrieben 
echo Starte Datensicherung am %datum% um %time% von %von% nach %nach% >>%windir%\backup.log 

>>%ziel%\backup.log


REM --------------------------------------- Daten werden Kopiert 
xcopy %von% %nach% /S /E /C /H /O /R /Y /D /V


REM --------------------------------------




if errorlevel 1 goto error
goto ende
:error
COLOR 0C
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
echo !das kopieren war nicht erfolgreich!
echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
echo Es trat ein Fehler beim erstellen des Backups auf! >>%ziel%\backup.log
pause
:ende

echo Die Datensicherung wurde um %time% abgeschlossen. >>%ziel%\backup.log







REM ------------------ vorhanden Siecherung werden verglichten die aelteste wird gloescht 

set sicherungen=3
for /f "skip=%sicherungen%" %%i in ('dir /o-d /b %ziel%') do rmdir /s /q %ziel%\%%i  
+++++++++++++++++++++++++++++quellen.txt+++++++++++++++++++++++
C:\eigeneDateien
C:\admin
D:\balbal

so das ist mein Script nun meine Lösung bei der ich nicht weiter komme.

wie Ihr sehen könnt werden die zu sichernden Pfade, aus der quellen.txt in einer Schleife, Zeile für Zeile ausgelesen und gesichert,
unter set ordner="c" möchte ich gern die Pfade wie bei set von="%~1" auslesen nur mit dem unterschied das der Pfad dann nicht z.B.: C:\eigeneDateien heißt sonder C\eigeneDateien ich möchte damit sagen das die Doppelpunkte rausgefiltert werden sollen und ich weiß nicht wie ich das machen soll.
[Edit 13.06.2007 17:16]
Ich habe die einzelnen Inhalt in Codeblöcke gepackt. Somit ist das Ganze übersichtlicher.

Dani
(Moderator)

Content-Key: 61286

Url: https://administrator.de/contentid/61286

Printed on: April 25, 2024 at 01:04 o'clock

Member: miniversum
miniversum Jun 13, 2007 at 14:40:50 (UTC)
Goto Top
Ändere den Anfang von:
set von="%~1"
set ordner="c"
set ziel="c:\SICHERUNG\"
in so:
set von="%~1"
set ordner="%~1"
set ordner=%ordner::=%
set ziel="c:\SICHERUNG\"

So werden Ordner erst die quelle zugewiegsen und danach alle : entfernt.

miniversum
Member: meisterigel
meisterigel Jun 13, 2007 at 14:55:08 (UTC)
Goto Top
ssssssssssssssssuuuuuuuuuuuuuuppppppppppeeeeeeeeeeerrrrrrrr face-smile es geht

Danke