Hallo an das MCSEBoard!
Ich bin neu hier, da ich meine Fragen normalerweise in einem anderen Forum stelle, da ich auf eine Frage aber bisher keine Antwort bekommen habe und es etwas dringend ist, habe ich nach anderen Foren bei Google gesucht und bin auf dieses hier gestoßen.
Ich muss im Rahmen meiner Arbeit öfters längere Dateien auswerten, meistens im .txt Format, manchmal aber auch im .xml Format.
Ich möchte diese sehr aufwendige und lästige Arbeit aber automatisieren und dafür ein VBScript einsetzen, da ich mich mit VBS einigermaßen auskenne und ich glaube dass es damit besser zu lösen ist als mit einer Batch File.
Und zwar soll das Script in diesem Fall folgendes können: (Wenn ich einmal ein funktionierendes habe, kann ich es ja leicht mit wenigen Änderungen immer an die jeweils neue Aufgabe anpassen.)
Es soll eine .txt - Datei Zeile für Zeile nach einem String durchsuchen, wenn es ihn gefunden hat auf drei weitere mögliche Strings in derselben Zeile prüfen und jede gefundene Zeile, je nachdem welcher zweite String gefunden wurde in eine neu erstellte .txt - Datei schreiben (also jeweils eine Datei für den ersten String + einen der drei möglichen weiteren Strings).
EDIT: Es sollte auch noch, wenn es zwar den ersten String in einer Zeile gefunden hat, aber keinen der drei möglichen weiteren, diese Zeilen in eine vierte .txt - Datei schreiben.
Ich habe bereits zwei Scripte geschrieben, die ohne Fehlermeldung laufen, aber mein Problem ist die Codes der beiden Dateien zusammenzufügen und auszubauen, also das was ich geschrieben hab ist noch nicht ausreichend funktionsfähig für das was ich möchte dass das fertige Script können soll.
Ich werde die beiden Codes hier einfügen, damit Ihr seht was ich bisher habe. (Die Dateinamen und der erste String, der bereits in meinen Anfangsversuchen enthalten ist, habe ich durch "***" ersetzt.)
strSourceFile = "*******.txt"
strDestinationFile = "**********.txt"
strPattern = "\b*********\b"
Set objRegEx = New RegExp
objRegEx.Global = True
objRegEx.IgnoreCase = False
objRegEx.Pattern = strPattern
Set objFSO = CreateObject("Scripting.FileSystemObject")
strFileContent = objFSO.OpenTextFile(strSourceFile, 1).ReadAll
If objRegEx.Test(strFileContent) Then
Set objDestFile = objFSO.OpenTextFile(strDestFile, 2, True)
Set colMatches = objRegEx.Execute(strFileContent)
For Each objMatch In colMatches
objDestFile.WriteLine objMatch.Value
Next
objDestFile.Close
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1
Const ForWriting = 2
Set objFile = objFSO.OpenTextFile("*******.txt", ForReading)
strText = objFile.ReadAll
objFile.Close
set ResultFile = objFSO.CreateTextFile("**********.txt", true)
resultFile.WriteLine strNewText
resultFile.Close
Ich weiß, ich bin noch nicht weit und bin auch nicht sehr gut darin (hatte immer nur Basiswissen und außerdem hab ich schon lange kein VBScript mehr geschrieben), daher seid bitte nachsichtig mit mir wenn ich mich ziemlich dämlich anstelle und in dem Punkt noch bzw. wieder ein ziemlicher Noob bin....
Ich hoffe jemand ist so nett mir zu helfen, darüber würde ich mich sehr freuen!
Da man Crosspostings ja verlinken soll, hier noch der Link zu BleepingComputer:
https://www.bleepingcomputer.com/forums/t/752780/asking-for-help-with-vbs-script/
Liebe Grüße und schonmal vielen Dank an jeden der sich meinen Post ganz durchgelesen hat!
Lobol