Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

TXT Nach String durchsuchen und Zeilennummer als errorlevel schreiben.

Frage Entwicklung Batch & Shell

Mitglied: Malli88

Malli88 (Level 1) - Jetzt verbinden

21.07.2014, aktualisiert 14:34 Uhr, 1393 Aufrufe, 9 Kommentare, 1 Danke

Hallo zusammen.

Ich habe die hoheitliche Aufgabe bekommen eine known errordatenbank zu schreiben.
Hier die Ausgangssituation:
Wir haben mehrer Batchscripte
Die Scripte sollen wenn ein bekannter Fehler, der als String in einer knownerror.txt gespeichert ist diese Datei danach durchsuchen und die Zeilennummer als Errorlevel zurück geben.
Geht sowas überhaupt mit Batch?

Bitte um Hilfe.

Danke!!!
Mitglied: Gersen
LÖSUNG 21.07.2014, aktualisiert um 14:34 Uhr
Hallo,

so etwas:

01.
for /f "tokens=1 delims=:" %%i in ('findstr /n /c:"fehlerstring" "knownerror.txt"') do ( 
02.
echo gefunden in Zeile: %%i 
03.
exit /B %%i  
04.
)
Gruß,
Gersen
Bitte warten ..
Mitglied: Malli88
21.07.2014 um 14:34 Uhr
Du bist der König!

Bitte warten ..
Mitglied: Malli88
21.07.2014 um 14:39 Uhr
Hast du zufällig noch ne Idee wie ich den Errorstate eines WINSCP an das ausführende Batchscript übergeben kann?
Wenn ich absichtlich einen Error 2 in WINSCP produziere bekomme ich in dem Shellscript immer nur einen Error 1.
Bitte warten ..
Mitglied: Gersen
21.07.2014 um 15:09 Uhr
Für jeden Befehl der Batch wird der Returncode in eine Variable "ERRORLEVEL" geschrieben - und durch den nächsten Befehl wieder überschrieben.
01.
winscp.com ... 
02.
if %errorlevel% neq 0 exit /b %errorlevel%
Hier würde für den Fall, dass der WinSCP-Befehl nicht erfolgreich verläuft (Returncode != 0), das Skript mit dem Returncode von WinSCP verlassen.
Bitte warten ..
Mitglied: Malli88
21.07.2014 um 15:14 Uhr
Das funktioniert aber leider nicht.

Hier mal ein Log von dem besagten WINSCP befehl.

2014-07-21 14:36:59.789+0200 [info] C:\ABITDATAtest\Import
2014-07-21 14:36:59.789+0200 [info] Fehler beim Wechseln in Verzeichnis '/home/ftproot/multiversa/daa'.
2014-07-21 14:36:59.789+0200 [info] Kann den realen Pfad für '/home/ftproot/multiversa/daa' nicht ermitteln.
2014-07-21 14:36:59.789+0200 [info] Datei oder Verzeichnis nicht gefunden.
2014-07-21 14:36:59.789+0200 [info] Fehlercode: 2
2014-07-21 14:36:59.789+0200 [info] Fehlernachricht vom Server : No such file
2014-07-21 14:36:59.789+0200 [info] /
2014-07-21 14:36:59.789+0200 [info] ---------------------------------------------------------------------------------
2014-07-21 14:36:59.789+0200 [info] errorlevel 1
2014-07-21 14:36:59.791+0200 [info] SCHEDULER-915 Process event
2014-07-21 14:36:59.793+0200 [ERROR] SCHEDULER-280 Process terminated with exit code 1 (0x1)
2014-07-21 14:36:59.795+0200 [WARN] SCHEDULER-845 Task ended without processing the order. The order remains in job's order queue in the same state
2014-07-21 14:36:59.796+0200 [info] SCHEDULER-843 Task has ended processing of Order TEST:TEST, state=SFTPImport, on JobScheduler
Bitte warten ..
Mitglied: Gersen
LÖSUNG 21.07.2014, aktualisiert um 15:52 Uhr
Ja. Mea culpa - ich lese hier:

"WinSCP executables return exit code 1, when any command is interrupted due to an error or any prompt is answered Abort (even automatically in batch mode). Otherwise it returns the exit code 0."

Ein Weg wäre, das XML-Logging zu verwenden - und für den Fall, dass WinSCP mit dem RC 1 abbricht, die XML-Datei zu parsen. Aber ob sich der Aufwand lohnt...?
Bitte warten ..
Mitglied: Malli88
21.07.2014 um 15:52 Uhr
Danke du hast mir sehr weitergeholfen!!!!
Bitte warten ..
Mitglied: Malli88
21.07.2014 um 16:03 Uhr
Leider muss ich dich doch nochmal belästigen. Sorry, bin echt ein totaler Anfänger in Batch.
Wie kann ich den den Errorcode der im WinSCP erzeugt wird in eine Variable packen und diese im Batch auslesen um ggf. damit zu Parsen?
Bitte warten ..
Mitglied: Gersen
21.07.2014, aktualisiert um 16:50 Uhr
Ein Versuch wäre (anhand der Struktur Deiner Log-Datei):

01.
echo. > C:\temp\winscp.log 
02.
winscp.com {Deine Parameter} /log="C:\temp\winscp.log" 
03.
if %errorlevel% neq 0 ( 
04.
for /f "tokens=1,2,3,4 delims=:" %%i in ('findstr /c:"Fehlercode:" "C:\temp\winscp.log"') do ( 
05.
echo Fehlercode ist %%l  
06.
exit /B %%l 
07.
08.
)
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: Durchsuche .txt nach unterschiedlichen Strings - wenn gefunden mache was
gelöst Frage von kaufparkanguckerBatch & Shell6 Kommentare

Hallo Forengemeinde, auf der Suche nach einer Lösung für mein Problem bin ich über dieses Forum gestolpert. Ich habe ...

Microsoft
Batchdatei: Dateien nach String durchsuchen, Dateinamen in .txt speichern
gelöst Frage von elcheffe123Microsoft22 Kommentare

Ahoi! Der Titel sagt eigentlich schon alles. Ich möchte eine Batchdatei schreiben, die im aktuellen Ordner( unbekannte anzahl an ...

Batch & Shell
Schreiben eines Strings mit Leerzeichen in eine Datei
gelöst Frage von c20082005Batch & Shell6 Kommentare

Hallo, nach langem Rum- und Ausprobieren möchte ich Euch um Hilfe bitten für folgendes Problem: Ich möchte mit einer ...

C und C++
Buchstabenweise in String schreiben
gelöst Frage von kunert0345C und C++20 Kommentare

Hallo, ich habe in dem Code eine Schleife die Buchstabenweise ein Text Datei verarbeitet und ich möchte bei jedem ...

Neue Wissensbeiträge
Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 2 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 2 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 14 StundenInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 21 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...