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

Errorlevels findstr

Frage Entwicklung Batch & Shell

Mitglied: dedalus2011

dedalus2011 (Level 1) - Jetzt verbinden

14.07.2012 um 10:56 Uhr, 3731 Aufrufe, 4 Kommentare

Hallo,

es sollen je nach return value einer Suche nach einem regulären mit logischen AND verknüpften Ausdruck Zeilen in verschiedenen Ordnern kopiert werden. Wie geht das am einfachsten? Oder geht's anders?

01.
 
02.
set "ABC=Process Start *Process *: *FFF" 
03.
set "Error=Process Start *Process.*FFF" 
04.
 
05.
 
06.
(if 0==0 echo "%Zeile%"|findstr /i /r /c:"%Error%">nul && echo "%Zeile%"|findstr /i /r /c:"%ABC%">nul) && (if %ERRORLEVEL% == 0 >>"%Folder1%" echo. !Zeile!) 
07.
 
08.
(if 0==0 echo "%Zeile%"|findstr /i /r /c:"%Error%">nul && echo "%Zeile%"|findstr /i /r /c:"%ABC%">nul) && if %ERRORLEVEL% == 1 >>"%Error%" echo. !Zeile! 
09.
 
Danke für Eure Tipps

Gruß
dedalus2011
Mitglied: pieh-ejdsch
14.07.2012, aktualisiert um 11:35 Uhr
moin dedalus,

aus was für einer Ausgabe nimmst Du denn die Variable Zeile?

Wenn Du die Ausgabe vom Findstr nicht nach nul umleitest, dann brauchst Du auch keine extra Ausgabe Produzieren.

Der Errolevel der Variable Errolevel bleibt auf einer Befehlszeile immer gleich.
Versuche stattdessen (für Erfolgreich) && oder :
if not ERRORLEVEL 1 Befehl
ist die Variable Error nun eine Suchzeichenfolge oder eine Datei?
Stark Vereinfacht wird es aber so geschrieben:
01.
( (echo "%Zeile%" 
02.
  ) |findstr /irc:"%Error%" |findstr /irc:"%ABC%" || <nul >&2 (set /p "=%Zeile%" &echo() 
03.
) 1>>"%Folder1%" 2>>"FehlerDatei.txt"
Wenn Du die Fehlerausgabe vom Findstr nicht in der Fehlerausgabe haben möchtest, dann leite die Fehlermeldung(en) enweder pro Findstr oder beide geklammert um.

Gruß Phil
Bitte warten ..
Mitglied: dedalus2011
14.07.2012 um 11:46 Uhr
moin pieh-ejdsch,

01.
set "ABC=Process Start *Process *: *FFF"  
02.
set "Error=Process Start *Process.*FFF" 
Je nach return value des konkatenierten Ausdrucks
01.
 (echo "%Zeile%"|findstr /i /r /c:"%Error%">nul && echo "%Zeile%"|findstr /i /r /c:"%ABC%">nul) 
sollen Zeilen in verschiedenen Ordnern kopiert werden ("Fehler"/"Folder" Ordner)

Gruß
dedalus2011
Bitte warten ..
Mitglied: dedalus2011
17.07.2012, aktualisiert um 17:20 Uhr
Also, was ich hier brauche ist eigentlich ein XOR für jedes Operationspaar.

01.
 ((echo "%Zeile%") |findstr /irc:"%ABC%" |findstr /irc:"%Error%" || >&2 echo %Zeile%) 1>>"%ABC%" 2>>"%Error%"
Es gibt nur folgende Möglichkeiten: True True, False False, True False, False True.
Wenn beide gleich sind dann müssen die Zeilen in einen Ordner sonst in den anderen Ordner. Es würde wahrscheinlich nur mit einem XOR davor gehen..Kann ein XOR für nicht binäre Operatoren in Batch simuliert werden?

Danke für Eure Tipps

Gruß
dedalus2011
Bitte warten ..
Mitglied: pieh-ejdsch
19.07.2012, aktualisiert um 18:49 Uhr
moin dedalus,

wenn eine Befehlsverkettung (nächster liest die vorherige Ausgabe als Eingabe) ist wird immer der letzte Befehl den Errorlevel bestimmen. Es ist immer ein AND und kein XOR.

Sowas Ähnliches wie ein XOR und AND (natürlich nur Simuliert) ist dies hier.

Wenn der erste Findstr keine Ausgabe zum weiterreichen hat, dann ist faktisch im zweiten Findstr sowieso keine Positive Ausgabe (nicht gefunden gibt hier Errorlevel größer 0).

Die Handles (1 2 ...) Schreiben dazu noch genau in die Richtige Datei - dafür sind ja schliesslich die Handles da.

01.
02.
for %%i in ("1: a b" "2: a c" "3: b c" "4: c c") do @echo %%i|findstr a |findstr b ||>&2 echo %%i 
03.
) 1>>Richtig.txt 2>>Fehler.txt

Dein XOR (gleiche Resultate [0 0 und 1 1] ist Ergebnis) sähe aber so aus:
01.
for %%i in ("1: a b" "2: a c" "3: b c" "4: c c") do @echo %%i|findstr  /virc:"a" /c:"b" || echo %%i|findstr /c:"a" |findstr /c:"b"
Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
BatchFile mit Errorlevel
gelöst Frage von MemaAaBatch & Shell7 Kommentare

Hallo Da ich mit Batchprogrammierung nur Grundlegende Erfahrungen habe frage ich hier nach. und zwar habe ich ein Batchfile, ...

Windows Tools
Findstr und regex
gelöst Frage von tobmesWindows Tools5 Kommentare

Hi Experten, ich habe ziemlich viele PDF-Dateien, die ich mittels eines Batch-Files nach einem Bestimmten Muster durchsuchen möchte. Die ...

Batch & Shell
For bringt falsches Errorlevel
gelöst Frage von golsinBatch & Shell5 Kommentare

Guten Morgen, mein Ziel ist es aus den for Schleifen das Errorlevel des Pings zu bekommen, komischerweise bekomme ich ...

Batch & Shell
Hilfe bei findstr reg expression
gelöst Frage von TheUntouchableBatch & Shell5 Kommentare

Hallo liebe Admins, ich bräuchte Hilfe beim erstellen einer reg expression mit findstr: Aus folgender Textdatei sollen nur die ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 55 MinutenMac OS X

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser ereichbar sind. Leider fehlt ...

Datenschutz

Weitere Inforamtionen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 7 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 9 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 12 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1017 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...