Hallo zusammen,
hab’ folgende nicht funktionierende Batch vorbereitet.
net stop SQL_SERVER
set „date=%date:~-4%-%date:~-7,2%-%date:~-10,2%“
if exist E:*Sicherung* goto Kopieren1
if not exist E:*Sicherung* goto Weiter
if exist Z:*Sicherung* goto Kopieren2
if not exist Z:*Sicherung* goto Weiter
Kopieren1
md E:%date%\
move E:*.tib E:%date%
Kopieren2
md Z:%date%
move Z:*.tib Z:%date%\
Weiter
net start SQL_SERVER
Zuerst wird die Datenbank angehalten mit net stop, dann das Datum in der Variablen date gespeichert. So weit so gut, aber dann kommen die Schwierigkeiten.
Die Sicherungen werden mit Acronis True Image erstellt und die Batchdatei als Befehl vor der Sicherung ausgeführt. True Image soll erst dann die Sicherung ausführen, wenn die Batch korrekt durchgeführt wurde. Die Sicherung durch TrueImage wird erst auf Laufwerk E: erstellt, ich kopiere Sie dann per Hand auf Laufwerk Z:. Die Batch soll also überprüfen, ob Sicherungsdateien auf den beiden Laufwerken vorhanden sind und diese dann in Ordern (chronologisch benannt) ablegen. Nur leider wird in dieser Batch nur eine der ersten beiden IF Bedingungen ausgeführt. Die zweiten zwei nicht mehr. Wie muss ich die Batch umschreiben, dass alle überprüft werden?
Gruß und Dank!
Hallo zusammen,
hab’ folgende nicht funktionierende Batch vorbereitet.
net stop SQL_SERVER
set „date=%date:~-4%-%date:~-7,2%-%date:~-10,2%“
if exist E:*Sicherung* goto Kopieren1
wenn so ist ? gehen wir wohin , zu kopieren1 , ergo wird nix weiter abgefragt
if not exist E:*Sicherung* goto Weiter
wenn nicht so ist ? gehen wir wohin , zu weiter , ergo wird die nächste bedingung nie erfolgen, da wir jetzt schon weiter springen 
if exist Z:*Sicherung* goto Kopieren2
if not exist Z:*Sicherung* goto Weiter
diese bedingungen werden also niemals genutzt
weil vorher schon jede mögliche bedingung erfüllt ist 
Kopieren1
md E:%date%\
move E:*.tib E:%date%
Kopieren2
md Z:%date%
move Z:*.tib Z:%date%\
Weiter
net start SQL_SERVER
wie wäre es wenn du so ganz einfach erst das eine abfragst und dann nur das überspringst was im eigenen und anderen fall auch möglich wäre , danach dann das nächste ding prüfen.
also
if datei goto kopieren1
if not datei goto notkopieren1
kopieren1
notkopieren1
if datei goto kopieren2
if not datei goto notkopieren2
kopieren2
notkopieren2
echo „Leider ist das nur thoerie, batch selber brauch ich weniger
Ausprobieren
“;
Hallo nochmal und danke für die Antwort,
ich hab’s jetzt so gelöst.
net stop SQL_SERVER
set „date=%date:~-4%-%date:~-7,2%-%date:~-10,2%“
if exist E:*Sicherung* goto Kopieren1
if exist Z:\Sicherung*Sicherung* goto Kopieren2
if not exist E:*Sicherung* goto Kopieren2
if not exist Z:\Sicherung*Sicherung* goto ende
Kopieren1
md E:%date%\
move E:*.tib E:%date%
goto Kopieren2
Kopieren2
md Z:%date%
move Z:*.tib Z:%date%\
ende
In den ersten Test gings auch so.
Gruß