Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Mehrere txt Dateien nach mehreren Variablen (Variablen-Pool) durchsuchen und inschließend die Zeilen mit der entsprechenden Variable in eine neue .txt Datein schreiben in VBScript

Frage Entwicklung VB for Applications

Mitglied: PortableApes

PortableApes (Level 1) - Jetzt verbinden

13.02.2009, aktualisiert 08:57 Uhr, 6325 Aufrufe, 5 Kommentare

Hallo und Guten Morgen,

ich habe in einem bestimmten Ordner mehrere .log Files die ich nach bestimmten Fehlern durchsuchen darf. Daher möchte ich diese zeilenweise auslesen lassen und die komplette Zeile mit dem Argument in eine neue .txt Datei schreiben lassen.

Teilweise wurde dieses Thema in anderer Variante bereits behandelt. Ich habe eben nur das Problem, dass ich mehrere Variablen habe: Fehler, Problem, abgebrochen, etc...

Wie bekomme ich das unter einen Hut ?

Danke mal im Vorraus
Mitglied: bastla
13.02.2009 um 12:09 Uhr
Hallo PortableApes und willkommen im Forum!

Für diese Anforderung würde ich eher Batch als VBS verwenden - das könnte (ungetestet) so aussehen:
01.
@echo off & setlocal 
02.
set "Ordner=D:\Deine Logs" 
03.
set "Typ=log" 
04.
set "Liste=D:\Fehlerliste.txt" 
05.
set "Erg=D:\Errors.txt" 
06.
 
07.
if exist "%Erg%" del "%Erg%" 
08.
for %%i in ("%Ordner%\*.%Typ%") do >>"%Erg%" findstr /i /g:"%Liste%" "%%i"
Die Datei "Fehlerliste.txt" müsste einfach je Zeile einen Suchbegriff beinhalten, also:
Fehler 
Problem 
abgebrochen 
etc
Grüße
bastla
Bitte warten ..
Mitglied: PortableApes
13.02.2009 um 17:00 Uhr
Danke ersteinmal bastla.
Leider habe ich keine Wahl. Ist eine Scripterweiterung in VBS und der Urheber des alten Scripts lässt mich daran zerbrechen...
Habe mal die case Fuunktion in´s Auge gefasst.

Hast du mir dazu evtl. ein Bsp. ?
Bitte warten ..
Mitglied: bastla
13.02.2009 um 17:51 Uhr
Hallo PortableApes!

Dann etwa so:
01.
InDir = "D:\Deine Logs" 
02.
InExt = "log" 'Dateityp in Kleinbuchstaben 
03.
OutFile = "D:\Errors.txt" 
04.
ErrorMessages = Array("Fehler", "Problem", "abgebrochen", "etc") ' Liste der Fehlermeldungen 
05.
 
06.
Set fso = CreateObject("Scripting.FileSystemObject") 
07.
 
08.
Set I = fso.GetFolder(InDir) 
09.
Set E = fso.CreateTextFile(OutFile, True) 'Ausgabedatei erstellen (ev bestehende Datei überschreiben) 
10.
 
11.
For Each File In I.Files 'Alle Dateien des Log-Ordners durchgehen ... 
12.
    If LCase(fso.GetExtensionName(File)) = InExt Then ' ... und wenn vom vorgegebenen Typ ... 
13.
        T = Split(File.OpenAsTextStream.ReadAll, vbCrLF) ' ... den Dateiinhalt zeilenweise in ein Array einlesen 
14.
        U = Ubound(T) 
15.
        For i = 0 To U ' Alle Zeilen des Textes durchgehen ... 
16.
            For Each ErrMsg In ErrorMessages ' ... und jeweils mit allen Fehlermeldungen vergleichen 
17.
                If InStr(1, T(i), ErrMsg, vbTextCompare) > 0 Then ' Wenn eine Fehlermeldung in der Zeile enthalten ist ... 
18.
                    E.WriteLine T(i) ' ... Zeile in die Ausgabedatei schreiben und .... 
19.
                    Exit For '.... Überprüfung beenden (Zeile erledigt). 
20.
                End If 
21.
            Next 
22.
        Next 
23.
    End If 
24.
Next 
25.
E.Close
Errorhandling kannst Du sicher selbst ergänzen (etwa Überprüfung, ob der Log-Ordner - siehe Zeile 8 - vorhanden ist, etc) ...

Grüße
bastla
Bitte warten ..
Mitglied: PortableApes
13.02.2009 um 19:04 Uhr
Danke Dir bastla werde mich ausgiebig damit beschäftigen ist ja Wochenende. ;)
Hab auch schon ein 300 Zeilen Script.


Hurra es wird Frühling ! Jetzt gibt wieder LAN Parties im Freien.
Bitte warten ..
Mitglied: PortableApes
16.02.2009 um 08:25 Uhr
Danke Bastla,

ein wenig Anpassung und es hat funktioniert.
Muss jetzt nur noch feineinstellungen vornehmen.
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Microsoft Telefonaktivierungs App

(17)

Tipp von alik47 zum Thema Microsoft ...

Heiß diskutierte Inhalte
Google Android
gelöst Android-Handy versehentlich (dauerhaft) gesperrt? (18)

Frage von FA-jka zum Thema Google Android ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

DSL, VDSL
gelöst DSL 200m verlängern (11)

Frage von Angela44 zum Thema DSL, VDSL ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...