Ausgabe aus CMD in Variable bei Batch
Hallo ich bin leider noch Anfänger in der Batch "Programmierung" versuche aber mein Anliegen deutlich zu machen.
Ich starte in einer Batch als Comandline einen Reboot (Drucker), dann überprüfe ich mit |find /i "error" auf den Fehler und mache eine Ausgabe in eine LOG Datei.
Das funktioniert so auch wunderbar mit ERRORLEVEL.
Nun kann es sich aber um verschiedene Fehler handeln (alle haben ERROR in der Zeile) und diese würde ich gerne in den Ausgabetext mit aufnehmen.
In eine weitere Datei schreiben, die sich ERROR.LOG nennt klappt auch, aber ich würde es gerne in einer Datei haben und das dann auch mit der Beschreibung.
Hier meine Zeilen:
mein Plan wäre die Zeile, die ich in >> ERROR.LOG schreibe in eine Variable wie %ERR% zu schreiben und diese dann hier auszugeben:
if not errorlevel 1 echo beim Reboot %%I ist ein Fehler aufgetreten: %ERR% >> rebootlog.txt
Bei 4 provozierten Fehlern habe ich in der ERROR.LOG z.B. folgende Zeilen:
Ich würde mich sehr freuen, wenn das einfach ein kleiner weiterer Eingriff ist und mir jemand helfen kann.
Vielen Dank schon mal.
Ich starte in einer Batch als Comandline einen Reboot (Drucker), dann überprüfe ich mit |find /i "error" auf den Fehler und mache eine Ausgabe in eine LOG Datei.
Das funktioniert so auch wunderbar mit ERRORLEVEL.
Nun kann es sich aber um verschiedene Fehler handeln (alle haben ERROR in der Zeile) und diese würde ich gerne in den Ausgabetext mit aufnehmen.
In eine weitere Datei schreiben, die sich ERROR.LOG nennt klappt auch, aber ich würde es gerne in einer Datei haben und das dann auch mit der Beschreibung.
Hier meine Zeilen:
:Start
echo %DATE% - %TIME% ######## >> rebootlog.txt
for /f %%I in (reboot.txt) do (
MFP-REBOOT.exe -ip=%%I -pw=initpassword -ssl=true -endapp=true | find /i "ERROR" >> ERROR.LOG
if errorlevel 1 echo System %%I wurde erfolgreich gestartet >> rebootlog.txt
if not errorlevel 1 echo beim Reboot %%I ist ein Fehler aufgetreten >> rebootlog.txt
)
mein Plan wäre die Zeile, die ich in >> ERROR.LOG schreibe in eine Variable wie %ERR% zu schreiben und diese dann hier auszugeben:
if not errorlevel 1 echo beim Reboot %%I ist ein Fehler aufgetreten: %ERR% >> rebootlog.txt
Bei 4 provozierten Fehlern habe ich in der ERROR.LOG z.B. folgende Zeilen:
//LoginError on MFP 192.168.14.100. ErrorCode = -4. ErrorMessage from Interface = 12.18.2020 21:52:40 192.168.14.100 Authentication Error.
Can't Ping MFP 192.168.14.120. ErrorMessage from Interface = 12.18.2020 21:52:53 192.168.14.120 Connection Error.
Can't Ping MFP AlexTest. ErrorMessage from Interface = 12.18.2020 21:52:58 AlexTest Connection Error.
LoginError on MFP RCKMKYCAF3D9BC. ErrorCode = -4. ErrorMessage from Interface = 12.18.2020 21:52:58 RCKMKYCAF3D9BC Authentication Error.//
Ich würde mich sehr freuen, wenn das einfach ein kleiner weiterer Eingriff ist und mir jemand helfen kann.
Vielen Dank schon mal.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 633076
Url: https://administrator.de/contentid/633076
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
https://hope-this-helps.de/serendipity/archives/BATCH-Richtige-ERRORLEVE ...
https://www.robvanderwoude.com/errorlevel.php
Gruß,
Peter
Zitat von @duckknight:
In eine weitere Datei schreiben, die sich ERROR.LOG nennt klappt auch, aber ich würde es gerne in einer Datei haben und das dann auch mit der Beschreibung.
https://ss64.com/nt/errorlevel.htmlIn eine weitere Datei schreiben, die sich ERROR.LOG nennt klappt auch, aber ich würde es gerne in einer Datei haben und das dann auch mit der Beschreibung.
https://hope-this-helps.de/serendipity/archives/BATCH-Richtige-ERRORLEVE ...
https://www.robvanderwoude.com/errorlevel.php
Gruß,
Peter