Problem mit IF und ERRORLEVEL in einem Batch

Mitglied: corpse2001

corpse2001 (Level 1) - Jetzt verbinden

09.07.2006, aktualisiert 13.07.2006, 16320 Aufrufe, 9 Kommentare

Hallo,

ich habe da ein Problem mit einem Batch.
Es sollen 2 Dateien verglichen werden was auch soweit funktioniert.
Sind die Dteien gleich soll ein bestimmtes Programm gestartet werden.
Allerdings habe ich nun das Problem, dass das Programm in jedem Fall gestartet wird auch wenn die Dateien Verschieden sind.

Bis jetzt sie mein Batch so aus:

@echo Ueberpruefung gestartet.
cd\
d:
cd d:\Ordner1
dir /s >d:\inhalt\inhalt2.txt
comp d:\inhalt\inhalt1.txt d:\inhalt\inhalt2.txt n
if errorlevel 0 goto neustart

:neustart
start Programm
exit

Die Datei d:\inhalt\inhalt1.txt ist vorhanden.
Mitglied: miniversum
09.07.2006 um 10:18 Uhr
Versuchs andersrum. Schau ob der Errorlevel 1 ist und wenn nicht dann starte das Programm.
Mit der Abfrage "if erorlevel 1" kontrollierst du ob der Errorlevel mindestens 1 ist.
Daher mein Vorschlag für die letzten Zeilen:

if errorlevel 1 goto neustart
start Programm
:neustart
exit

miniversum
Bitte warten ..
Mitglied: corpse2001
09.07.2006 um 15:54 Uhr
Es funktioniert leider nich, es passiert genau das gleiche wenn ich die "1" nehme.
Bitte warten ..
Mitglied: miniversum
09.07.2006 um 19:59 Uhr
Sollte aber gehen. Ist ja das selbe Prinzip wie hier auch:
https://www.administrator.de/Batch-Datei_xcopy_Errorlevel.html

miniversum
Bitte warten ..
Mitglied: Biber
10.07.2006 um 08:38 Uhr
Moin corpse2001,

der Bug ist woanders.
Das "goto neustart" klappt schon.
Aber eine Zeile vorher sollte diese Zeile rein

...
IF Errorlevel 1 goto :eof
:: IF Errorlevel 0 goto Neustart --ist jetzt überflüssig
:: :neustart (Label neustart ist auch überflüssig
Start programm...


Wenn ich es richtig verstanden habe, dass ein Neustart ausgeführt werden soll, wenn KEIN Unterschied vorliegt.

Gruß
Biber
Bitte warten ..
Mitglied: corpse2001
10.07.2006 um 15:31 Uhr
ich werde das jetzt mal testen
Bitte warten ..
Mitglied: Biber
10.07.2006 um 19:29 Uhr
ich werde das jetzt mal testen

...Stunden später....

Na, corpse2001, so sehr verifizieren brauchst Du nun auch nicht.
Wenn der Test beim ersten Mal okay war, brauchst Du nicht die ganze Nacht durch wiederholen... wenn es nicht geklappt hat, bringen 10000 Wiederholungen nach meinen Erfahrungen auch nichts mehr....
Bitte warten ..
Mitglied: corpse2001
10.07.2006 um 23:04 Uhr
wurde von etwas anderm aufgehalten.
aber das funktioniert leider auch nicht.
Kann es sein das die Nummer vom ERRORLEVEL falsch ist?
Ist es möglich die irgentwie ausgeben zu lassen?
Bitte warten ..
Mitglied: Biber
11.07.2006 um 09:56 Uhr
...Ausgeben kannst Du den Errorlevel jederzeit so:

...
echo Errorlevel ist %ErrorLevel%
:: -->hier ggf noch ein "pause"-Befehl
...
Bitte warten ..
Mitglied: corpse2001
13.07.2006 um 10:04 Uhr
So ich habde das Problem!

Der Fehler lag darin, das das "n" hinter dem comp-Befehl einen falschen Errorlevel verursacht hat.
Dieses wurde nun so gelöst:

....
echo n | comp *.* *.*
....
Bitte warten ..
Heiß diskutierte Inhalte
Windows 10
Wie komme ich von WIN10pro auf Windows 10 Enterprise
LegofrauVor 21 StundenFrageWindows 1058 Kommentare

Guten Tag, Wie komme ich auf legale weiße von Windows 10 professionell auf Windows 10 Enterprise? Ich habe viele widersprüchliche Antworten gefunden. Also muss ...

Off Topic
Bewerbungsfragen FISI
IT-ProVor 1 TagFrageOff Topic16 Kommentare

Hi, Ja, der Titel mag etwas komisch klingen. Aber das wird sich in den folgenden Zeilen hoffentlich lösen. Ich habe mich hier gerade durch ...

Microsoft
Client verhält sich im Home Office wie Gerät vor 10 Jahren
Finchen961988Vor 23 StundenFrageMicrosoft12 Kommentare

Hallo liebes Forum, ich mal wieder und ich habe riesen ??? über den Kopf! Das Verhalten zu beschreiben wird nicht ganz einfach, da ich ...

Off Topic
Verwaltungskosten von Passwörtern
IT-ProVor 1 TagFrageOff Topic6 Kommentare

Guten Morgen liebe Menschen. Ich benötigte für die Erstellung meiner IHK-Projektarbeit ein paar Informationen zu den Kosten von Passwörtern. Ich habe aus folgendem Beitrag ...

Windows Server
Remotedesktopgateway Zertifikat - Zugriff überall
lukas0209Vor 1 TagFrageWindows Server9 Kommentare

Guten Abend zusammen, ich habe eine Frage bzgl. des Windows Remotedesktopgateways. Wir nutzen einen Windows Server 2016 Essentials, dieser bringt von Haus aus die ...

Linux Netzwerk
NAS läßt sich unter Ubuntu-Server nicht anpingen, unter Windows jedoch schon?!
gelöst dr.zetoVor 2 StundenFrageLinux Netzwerk30 Kommentare

Hallo, ich habe das Problem, dass ich eine Synology-NAS unter einem Ubuntu-Server nicht pingen kann. Unter einem Windows-Client jedoch wird der Ping beantwortet. Hierzu ...

CPU, RAM, Mainboards
Laptop schaltet sich von selber aus
winlinVor 21 StundenFrageCPU, RAM, Mainboards4 Kommentare

Hallo zusammen Ich habe ein Laptop der sich nach kurzer Zeit abschaltet. Wenn das passiert und i h den wieder hier hochfahre sehe ich ...

Internet
Starlink SpaceX
chrisittVor 1 TagFrageInternet4 Kommentare

Hallo, ich suche dringend Informationen über Starlink, da wir planen Starlink in einem Unternehmen einzusetzen. Kennt einer von euch eine gute Informationsquelle oder hat ...