2016-12-16 3 views
0

Ich möchte fragen, wie kann ich Strings (3 oder 5 Wörter) in der Textdatei mit Bedingungen finden. Wenn die Saiten dann eine bestimmte Variable gefunden wurde gleich werden zu 1.Suchen von Strings in der Textdatei - Batch-Datei

Szenario

ich eine Batch-Datei haben jedes 12.01 ausgeführt werden soll. Diese Stapeldatei enthält mehrere Befehle. siehe unten:

  1. Heck Logger
  2. Log Checker
  3. Restarter

Heck Logger - Dies war die erste Funktion auf der Batch-Datei ausgeführt wird. Es protokolliert den Server und legt die Protokolle auf server.log an und erstellt eine andere Protokolldatei mit den letzten 2 Zeilen der Protokolle (temp.log)

Log Checker - Nach dem Tail Logger wird diese Funktion renne und finde die bestimmten Wörter auf dem temp.log.

Beispiel:

Dies wird einen Streicher finden „Die Aufgabe abzuschließen“, wenn der Prüfer diese findet es wird eine Variable macht aus der Serie X = 0 X = 1 zu setzen.

Danke.

Antwort

1

findstr /? von der Eingabeaufforderung wird Sie führen.

`findstr /L /c:"The task complete" "logfilename" >nul 

errorlevel auf 0 gesetzt wird, wenn ein sonst gefunden (streng nicht-0 sonst, als "filemissing" Errorlevel = 2 erzeugt, glaube ich)

+0

Prüfung wie folgt aus: 'wenn Error-1 (Echo Error-ist 1 oder höher) & (gehe zu: end) ' – Marichyasana

+0

Ich habe selten gesehen, dass FINDSTR etwas anderes als 0 oder 1 zurückgibt. Ich habe den Fall der fehlenden Datei und viele andere getestet. Der einzige andere Rückgabewert, den ich gesehen habe, ist 255, wenn die Regex mehr als 15 Zeichen Klassenglieder enthält (ein sehr unangenehmer Fehler, der eine Benutzerinteraktion erfordert, um ein Popup-Fenster zu schließen). – dbenham

+1

@dbenham: widersprüchliche Optionen, zB 'FINDSTR/l/r" abc ""% Dateiname1% "' – Magoo

Verwandte Themen