Jump to content

löschen, ersetzen von wörtern aus einer txt Datei


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen.

 

Ich habe LOGFILES wo Konflikte auftretten, würde gerne denn LOGFILE nach den Zeilen mit den KONFLIKTEN suchen lassen.

 

habe jetzt eine batch datei die dies tut.

Jetzt was ich noch gerne hätte und eure hilfe bei bräuchte.

Er schreibt mir ein LOG file mit der ganzen zeile wo der Begriff "Konflikt" steht.

 

siehe:

[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.

 

was mir anstrebt ist das er mir nur dies aus der Zeile stehen läßt im logfile

 

|Engineering Design|PLAN_12889 487656 - 62_AUG_Rinaustr.

 

und den rest rauslöscht.

Habe gedacht würde vielleicht mit Replace gehen, aber wie ich gelesen habe ist das nur für Dateien.

Weiß einer wie ich das bewerkställigen kann das er mir alles andere rauslöscht bis auf das was ich haben will?

 

 

REM ~~ Setzen des Logfile Namen ~~

 

set name=konflikte.log

set /P logfile=

set pfad=\\hptanas01\PTAAM\Operations\Logs

 

REM ~~ Setzen des Logfile Pfades ~~

 

SET LOG="C:\temp\%timest%_%name%"

date /T >> %LOG%

time /T >> %LOG%

 

FINDSTR /I "Konflikte" %pfad%\%logfile% >> %LOG%

Link zu diesem Kommentar

hehe...das war eigentlich keine frage, sondern ein vorschlag :D

 

mit ultraedit könntest du dir ein macro machen, dass dies für dich erledigt...is ganz easy.

dann brauchst du nur mehr per command line das file öffnen lassen und dem ultraedit (ich glaub mit dem paramter /M) mitgeben ein macro auszuführen...voila ;)

 

am besten du besorgst dir mal ne demo (ultra edit ist nämlich kostenpflichtig) und probierst es aus...aber vielleicht hat ja jemand anderes noch einen besseren vorschlag...

Link zu diesem Kommentar

Tach auch,

 

so, oder so ähnlich könnte man es mit VBS realisieren. Ich bin davon ausgegangen, dass die Zeilen immer den gleichen Aufbau haben. Aufruf des Scriptes: Script.vbs <LogFile>

 

Das Script schneidet die Zeilen vor dem ersten "|" und nach dem ":" ab und schreibt die Zeilen in ein neues Log (LOG.txt) im Verzeichnis des Scriptes.

 

Gruß, thumb

 

Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8

myName = WScript.ScriptFullName
myPath = Left(myName, InStrRev(myName, "\"))

strFile = WScript.Arguments(0)

strLogFile = myPath & "\" & "LOG.txt"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strFile)
If objFile.Size > 0 Then

   Set objReadFile = objFSO.OpenTextFile(strFile, 1)

   Do While not objReadFile.AtEndOfStream
     strLine = objReadFile.ReadLine()
     strContent_ = Split(strLine, "|")
     strContent__ = trim(strContent_(1)) & trim(strContent_(2))
     strContent___ = split(strContent__, ":")
     strContent____ = trim(strContent___(0))	
     Call WriteToLog(strLogFile, strContent____)
   Loop

   objReadFile.Close
Else
   Wscript.Echo "The file is empty."
End If

Sub WriteToLog(inFile, inText)

Set objFile = objFSO.OpenTextFile(inFile, ForAppending, True)
objFile.WriteLine(inText)
objFile.Close

End Sub



Link zu diesem Kommentar

Hallo Thumb

 

deine version hört sich sehr gut an, aber es kommt folgendes problem

 

er hat probleme

 

Zeile 21

Zeichen 7

Fehler Index außerhalb des gültigen Bereichs: '[number: 1]'

 

Dies steht in der Zeile:

strContent__ = trim(strContent_(1)) & trim(strContent_(2))

 

wenn ich aus der 1 eine 0 mache dann erkennt er die 2 nicht..

 

Da ich mit VBS keine erfahrung habe kann ich dieses problem leider nicht lösen.

 

habe im cmd fenster dies eingegeben

 

script.vbs konflikte.log

Link zu diesem Kommentar

Hallo Chris.m,

 

ich habe in meiner Test.LOG folgenden Inhalt:

 

[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|1Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.
[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|2Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.
[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|3Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.
[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|4Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.
[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|5Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.
[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|6Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.
[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|7Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.
[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|8Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.
[24.10.2007 16:43:56] [info] [pta_merge_alternatives.pta_merge_alternatives:int!merge_view()] Datenbank gis - Alternative "|9Engineering Design|PLAN_12889" - Projekt/Planung "487656 - 62_AUG_Rinaustr.": Konflikte gefunden, daher kein Merge möglich.

 

Lege das VBS Script mal direkt auf C:\, die auszuwertende LOG Datei ebenfalls. Der Aufruf ist richtig: VBSCRIPT LOGFILE

 

Das Script sucht das "|" und ":" als Trennzeichen, sieht Deine Logdatei nicht so aus, wie die obige, geht das schief.

 

Gruß, THUMB

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...