Forum: PC-Programmierung Batchprofi gesucht - Doppelte Bedingung


von BatcherOderNichtBatcher (Gast)


Lesenswert?

Hallo Leute,

Für ein schnelles Backup nehme ich eine Batchdatei her, welche robocopy 
benutzt.
Aktuell wird abgefragt, ob das Verzeichniss XY am Laufwer XX existiert.
Wenn ja, dann wird Robocopy gestartet.
Dies sieht so aus:
1
@echo off
2
3
IF EXIST "E:\Anleitungen\" ROBOCOPY \\192.168.1.200\Anleitungen\ E:\Anleitungen\ /E /PURGE /mir
4
IF EXIST "F:\Anleitungen\" ROBOCOPY \\192.168.1.200\Anleitungen\ F:\Anleitungen\ /E /PURGE /mir
5
IF EXIST "G:\Anleitungen\" ROBOCOPY \\192.168.1.200\Anleitungen\ G:\Anleitungen\ /E /PURGE /mir

Nun möchte ich aber auch prüfen, ob es die IP Adresse auch wirklich 
gibt, da ja sonst Robocopy hängen bleibt, weil ja das Ziel exisitiert, 
aber die Quelle nicht gefunden werden kann.
Wie kann ich da eine dopppelte Prüfung machen??
Kann mir da jedmand ein Beispiel dafür geben?

von Zeno (Gast)


Lesenswert?

Einen Ping auf die IP machen und den Errorlevel abfragen

von Mladen G. (mgira)


Lesenswert?

Hier wird so ein ping gemacht: 
https://stackoverflow.com/questions/3050898/how-to-check-if-ping-responded-or-not-in-a-batch-file

Allerdings nicht mit batch files (.bat), sondern mit .cmd, ersteres ist 
ja noch fuer 16 Bit OS gedacht, letzteres kann ein bisschen mehr, ist 
aber auch veraltet (PowerShell hat das abgeloest).

von Marc G. (marcm)


Lesenswert?

Vorher nen Ping hinschicken und auf die Rückmeldung (%errorlevel%) IFen 
und ggf. abbrechen

Edit : viiiel zu langsam... ;-)

: Bearbeitet durch User
von BatcherOderNichtBatcher (Gast)


Lesenswert?

Marc G. schrieb:
> Vorher nen Ping hinschicken und auf die Rückmeldung (%errorlevel%)
> IFen
> und ggf. abbrechen
>
> Edit : viiiel zu langsam... ;-)

Wie würde da der exakte Syntax ausehen?

von BatcherOderNichtBatcher (Gast)


Lesenswert?

So gehts nicht:
1
@echo off
2
3
IF EXIST "\\192.168.1.200\Anleitungen\"
4
if errorlevel 1 goto noping
5
echo Erreichbar
6
:noping
7
echo Nicht erreichbar
8
9
@pause


->>>> Syntax Error

von BatcherOderNichtBatcher (Gast)


Lesenswert?

Haaah. Hinbekommen.

IF NOT EXIST "\\192.168.1.200\Anleitungen\" goto noping
IF EXIST "E:\Anleitungen\" ROBOCOPY \\192.168.1.200\Anleitungen\ 
E:\Anleitungen\ /E /PURGE /mir /R:2 /W:3
IF EXIST "F:\Anleitungen\" ROBOCOPY \\192.168.1.200\Anleitungen\ 
F:\Anleitungen\ /E /PURGE /mir /R:2 /W:3
IF EXIST "G:\Anleitungen\" ROBOCOPY \\192.168.1.200\Anleitungen\ 
G:\Anleitungen\ /E /PURGE /mir /R:2 /W:3
IF EXIST "H:\Anleitungen\" ROBOCOPY \\192.168.1.200\Anleitungen\ 
H:\Anleitungen\ /E /PURGE /mir /R:2 /W:3
IF EXIST "I:\Anleitungen\" ROBOCOPY \\192.168.1.200\Anleitungen\ 
I:\Anleitungen\ /E /PURGE /mir /R:2 /W:3
IF EXIST "J:\Anleitungen\" ROBOCOPY \\192.168.1.200\Anleitungen\ 
J:\Anleitungen\ /E /PURGE /mir /R:2 /W:3
:noping

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

BatcherOderNichtBatcher schrieb:
> Wie würde da der exakte Syntax ausehen.

Siehe Anhang.

Aufruf "pingtest [IP]", z.B. "pingtest 192.168.178.1"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.