Ich habe gefunden, die Notwendigkeit, eine Fehlerstufe zu einem Programm melden, die Batch-Skripte aufrufen.Batch-Programmierung Einstellung ERRORLEVEL von fehlgeschlagen FIND-Befehl
Das Skript erstellt eine CSV-Protokolldatei, die ich überprüfen möchte, um anzuzeigen, ob das Skript erfolgreich ausgeführt wurde.
Was ich möchte, ist sagen, so etwas wie
IF NOT FIND "[ERR" "test.csv"
oder zu sagen, dass, wenn die Zeichenfolge "[ERR"
nicht in der Ausgabe ist ERRORLEVEL = 0 ELSE ERRORLEVEL = 1
Hoffnung macht den Sinn. Ich bin mir sicher, dass es einfach ist, aber das Setzen von Fehlerpegeln scheint ein königlicher Schmerz in der Welt zu sein!
Hallo dbenham, Vielen Dank für Ihre Antwort, aber leider nur das Hinzufügen/V scheint in der Errorlevel führen immer auf 0 Auch das zweite response.FIND „[ERR“ Ich habe versucht, gesetzt werden mit dieser Batch-Datei "testen test.csv“SET myError = 1 EXIT/B% myError% sollte es immer 1 zurück, wenn ich echo% Errorlevel%, aber es wird dies nur tun, wenn die [ERR nicht in der test.csv Datei ist! Mache ich etwas falsch mit der Syntax? Alle 3 Anweisungen sind in separaten Zeilen, aber ich kann nicht eine neue Zeile starten, um dies zu repräsentieren! Vielen Dank im Voraus für Ihre Antwort! –
dbenham! Nachdem ich das nochmal durchgegangen bin, habe ich festgestellt, dass ich DOS-Schulfehler gemacht habe! Ich setze set err = 1 statt err = 1. Für jeden, der dies liest, bedeutet dies, dass, wenn Sie SET ERR = 1 eingeben, der Variablenname 'ERR' und nicht 'ERR' lautet. Vielen Dank! –
Angabe von '/ v' führt nur zu einem Fehler (Error-== 1), wenn * alle * Zeilen in der Datei den angegebenen Wert enthalten. Es kehrt den Test von * contains x * zu * ohne x * um, wobei ERRORLEVEL 0 ist, wenn Zeilen gefunden werden, die mit dem Test übereinstimmen. – Corey