benjamin200 10 Geschrieben 1. Dezember 2005 Melden Teilen Geschrieben 1. Dezember 2005 Hallo Leute, hoffe hier sind ein paar findige Programmiere unterwegs. Ich suche ein Windows-Befehl oder ein kurzes Skript, welches aus einer Logdatei bestimmte Strings (in diesem Beispiel Passwörter) entfernen kann. Die Logs sieht z.B. so aus: bla bla bal Password $a%b&c/d(e)f=g?h*i#j'k bla bla bal Code bla bla bal Code bla bla bal Code bla bla bal Password $a%b&c/d(e)f=g?h*i#j'k bla bla bal Code /CODE] Wie kann ich den String $a%b&c/d(e)f=g?h*i#j'k über ein Skript oder anderweitiges Tools erfassen und Ändern. Die Logdatei soll in jedemfall erhalten bleiben, lediglich das Passwort soll überschrieben werden. Zu beachten ist, das der String in etwa dieses Format hat (Sonderzeichen). Hoffe Ihr könnt helfen... ...bin für jeden Tipp, Trick oder Link diesbezüglich dankbar. Gruß, Benjamin Zitieren Link zu diesem Kommentar
GerhardG 10 Geschrieben 1. Dezember 2005 Melden Teilen Geschrieben 1. Dezember 2005 editor deiner wahl => suchen/ersetzten auswählen. alternativ "sed.exe" in google suchen, damit kann man auch wunderbar scripten. Zitieren Link zu diesem Kommentar
benjamin200 10 Geschrieben 1. Dezember 2005 Autor Melden Teilen Geschrieben 1. Dezember 2005 es muss per Skript gehandelt werden...Danke für den Hinweis zu sed.exe Zitieren Link zu diesem Kommentar
cablit 10 Geschrieben 2. Dezember 2005 Melden Teilen Geschrieben 2. Dezember 2005 Hi Benjamin, ich hoffe, das hilft dir (ich bin jetzt mal davon ausgegangen, dass der Zeichenkette "Password " das Passwort folgt und dieses bis zum nächsten Leerzeichen geht und nur das eigentlich Passwort gelöscht werden soll): Set objFS = CreateObject("Scripting.FileSystemObject") Set objOF = objFS.OpenTextFile("C:\test.log") Set objCF = objFS.CreateTextFile("C:\test2.log", False, True) strLine = objOF.ReadLine strNewLine = "" If Instr(strLine, "Password ") > 0 Then strTemp1 = Left(strLine, Instr(strLine, "Password ") + 9) strTemp2 = Right(strLine, Instr(strLine, "Password ") + 9) strTemp2 = Right(strTemp2, Len(strTemp2) - Instr(strTemp2," ")) strNewLine = strTemp1 & strTemp2 End If If strNewLine = "" Then objCF.WriteLine strLine Else objCF.WriteLine strNewLine End If objFS.DeleteFile("C:\test.log") objFS.CopyFile("C:\test2.log", "C:\test.log") objFS.DeleteFile("C:\test2.log") Edit: Wenn der Passwort-String gleich bleibt, könntest du natürlich auch mit Replace arbeiten. Grüße Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.