1.8k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von mikoop Experte (2.7k Punkte)
Hallo,

Ich versuche einen Datenpfad mit Hilfe einer Batchdatei zur Sicherung auf ein Netzlaufwerk zu kopieren.

Dabei will ich drei verschiedene, aufeinander folgende Ordner nutzen, um verschiedene Versionen / Alter der Sicherungen zur Verfügung zu haben.

Diese habe ich Opa, Vater und Sohn genannt, Opa will ich vor dem Backup löschen, dann Vater zu Opa umbenennen, Sohn zu Vater und dann Sohn neu erstellen.
Das Umbenennen soll ohne Bestätigung durchgeführt werden (das Löschen auch), beides funktioniert (noch) nicht, irgendwie komme ich mit den Parametern nicht klar.

Könnt ihr mir bitte dabei helfen, siehe den folgenden (unfertigen) Prototyp der Datei?

Danke und Gruss, Mikoop


@
echo off
cls
rem Kontrolle ob Anwender im System
if exist l:\greenbaum\daten\P*.lck goto alarm
goto weiter

:alarm
rem Anwender im System gefunden, Sicherung abgebrochen
echo Abbruch da Anwender im System > "C:\Dokumente und Einstellungen\Hils-Koop\Desktop\alarm.txt"
goto ende


:weiter
rem Kontrolle ob Pfad verfügbar
if not exist \\IOMEGA-002E55\NetHDD\backup\control.txt goto fehler
goto ordner


:fehler
rem Laufwerk nicht verfügbar
echo Laufwerk nicht ansprechbar > "C:\Dokumente und Einstellungen\Hils-Koop\Desktop\alarm.txt"
goto ende


:ordner
rem Order umbenennen
del \\IOMEGA-002E55\NetHDD\backup\opa /f /s /q

ren "\\IOMEGA-002E55\NetHDD\backup\vater" "\\IOMEGA-002E55\NetHDD\backup\opa"

ren \\IOMEGA-002E55\NetHDD\backup\sohn \\IOMEGA-002E55\NetHDD\backup\vater
goto backup


:backup
rem Sicherung
cd\
cd programme
cd versync
verzeichnissyncronizer.exe l:\greenbaum \\IOMEGA-002E55\NetHDD\backup\opa\greenbaum down
goto :ende


:ende
exit

3 Antworten

0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Du hast da fuer Dein Vorhaben in meinen Augen die falschen Befehle ausgewaehlt.

Loeschen von Verzeichnisstrukturen wuerde ich mit rmdir erledigen wollen:
rmdir \\IOMEGA-002E55\NetHDD\backup\opa /s /q

Und das, was Du mittels Rename vorhast, wuerde ich bei Verzeichnissen von Move erledigen lassen wollen:
move "\\IOMEGA-002E55\NetHDD\backup\vater" "\\IOMEGA-002E55\NetHDD\backup\opa"

Zusaetzlich hat sich fuer meinen Geschmack ein "Logik-"Fehler in Deinen Ablauf eingeschlichen!?
[*] ...\Opa wird geloescht
[*] ...\Vater wird zu ...\Opa
[*] ...\Sohn wird zu ...\Vater
[*] neue Sicherung geht nach ..\Opa????

Sollte die dann nicht nach ...\Sohn?

Cu
TheBlackBird ®
0 Punkte
Beantwortet von mikoop Experte (2.7k Punkte)
Guten Morgen TheBlackBird,

Danke für deine Hinweise.
Mit dem Logikfehler hast du recht, ursprünglich wollte ich quasi in Opa sichern und dann alle Ordner umbenennen, da brauchte ich aber einen 4. Ordner als Zwischenlösung. Deshalb dann das Löschen und Sichern, natürlich in den Ordner Sohn, nicht Opa.

Deine Hinweise mit rmdir und move werde ich hoffentlich im Laufe des Tages mal testen können und mich dann melden...

Gruss und schönen Tag, Mikoop
0 Punkte
Beantwortet von mikoop Experte (2.7k Punkte)
Hallo nochmal,

Jetzt habe ich die Batch mehrmals erfolgreich durchlaufen lassen, vielen Dank für die zielführenden Tipps!

Danke und Gruss, Mikoop
...