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

Txt Datei ab einer bestimmten Zeile auslesen und in neue txt schreiben bzw. speichern

Frage Entwicklung VB for Applications

Mitglied: doschtinator

doschtinator (Level 1) - Jetzt verbinden

27.11.2011, aktualisiert 23:21 Uhr, 4224 Aufrufe, 2 Kommentare

Hallo,

nach mittlerweile unzähligen Stunden weiß ich nicht mehr weiter und kann auch nicht mehr ;-(
Meine rudimentären VBS Kenntnisse sind erschöpft und trotz schier ewig gefühlter Suche komme ich nicht mehr weiter.
Problem: Eine txt Datei wird durchsucht und falls in der ersten Zeile das aktuelle Datum steht, dann soll das nächste Datum in einer Zeile x die weiter unten steht gesucht werden. Ab dieser Zeile x soll dann der komplette Rest der txt in eine neue txt geschrieben werden. Hier mein bisheriger Code:

01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
 
03.
TermDatei = "termine.txt" 
04.
TermNeu = "term_neu.txt" 
05.
Heute = Date() 
06.
 
07.
' "termine.txt" komplett in Array einlesen ...  
08.
TermLines = Split(fso.OpenTextFile(TermDatei).ReadAll, vbCrLf) 
09.
 
10.
' Ausgabedatei erzeugen 
11.
Set Ausgabe = fso.CreateTextFile(TermNeu, True) 
12.
	 
13.
	' erste Zeile mit heutigem Datum vergleichen; geschieht täglich um 23:59 Uhr 
14.
    If InStr(TermLines(0), Heute) > 0 Then 
15.
        'gefunden: aktuelles Datum in erster Zeile; Schleife abarbeiten, um zu ermitteln, wo der nächste Eintrag steht 
16.
		WScript.Echo ("Gefunden!") 
17.
        For i = 1 To UBound(TermLines) 
18.
			tmpDat = Left(TermLines(i), 10)	'Die ersten 10 Zeichen einer Zeile auf Einträge mit Ziffern überprüfen 
19.
			If IsNumeric(tmpDat) = True then 
20.
				'gefunden: Zeilennummer merken und Schleife verlassen 
21.
				LineNo = i 
22.
				Exit For  
23.
			End If  
24.
		Next 
25.
		WScript.Echo (LineNo) 
26.
		'... gesamten Inhalt ab 'LineNo' in neue txt schreiben 
27.
		ICH WEIß NICHT MEHR WEITER ... 
28.
		 
29.
    End If
Wenn jemand so freundlich wäre und mir behilflich sein könnte wäre dies toll. Ich habe diverse Möglichkeiten getestet, auch solche, die hier im Forum abgebildet sind. Leider bin ich bezüglich dem Syntax nicht sicher und kann daher vielleicht nahe an der Lösung gewesen sein, muss meine Bemühungen aber auf Probieren ausrichten. Daher wäre mir eine Ergänzung von jemand, dem dies einfach fällt, sehr gelegen. Danke im Voraus!

Gruß doschtinator
Mitglied: bastla
LÖSUNG 27.11.2011, aktualisiert 08.01.2014
Hallo doschtinator!

Vorweg: Als "Code" formatiert sähe Dein Ansatz zumindest schon mal besser aus ...
Wenn Du doch schon so eine schöne Schleife hast, würde ich die gleich weiter verwenden - ungetestet etwa so:
01.
Set fso = CreateObject("Scripting.FileSystemObject") 
02.
 
03.
TermDatei = "termine.txt" 
04.
TermNeu = "term_neu.txt" 
05.
Heute = Date() 
06.
 
07.
' "termine.txt" komplett in Array einlesen ... 
08.
TermLines = Split(fso.OpenTextFile(TermDatei).ReadAll, vbCrLf) 
09.
 
10.
' Ausgabedatei erzeugen 
11.
Set Ausgabe = fso.CreateTextFile(TermNeu) 
12.
 
13.
' erste Zeile mit heutigem Datum vergleichen; geschieht täglich um 23:59 Uhr 
14.
If InStr(TermLines(0), Heute) > 0 Then 
15.
    'gefunden: aktuelles Datum in erster Zeile; Schleife abarbeiten, um zu ermitteln, wo der nächste Eintrag steht 
16.
    WScript.Echo ("Gefunden!") 
17.
    For i = 1 To UBound(TermLines) 
18.
        tmpDat = Left(TermLines(i), 10) 'Die ersten 10 Zeichen einer Zeile auf Einträge mit Ziffern überprüfen 
19.
        If IsNumeric(tmpDat) = True Then 
20.
            Schreiben = True 
21.
            WScript.Echo i 
22.
        End If 
23.
        If Schreiben Then Ausgabe.WriteLine TermLines(i) 
24.
    Next 
25.
End If
Sobald einmal der Schalter "Schreiben" auf "True" gesetzt ist, bleibt er das auch - daher wird ab dieser Zeile in die Ausgabedatei geschrieben ...

Grüße
bastla
Bitte warten ..
Mitglied: doschtinator
27.11.2011 um 23:25 Uhr
Hallo bastla,

sorry wegen der Formatierung! Werde es mir merken.

Tausen Dank für die Ergänzung bzw. Korrektur! So scheint es wie gewünscht zu funktionieren.

SUPER!

Gruß doschtinator
Bitte warten ..
Ähnliche Inhalte
Installation
gelöst Mit Powershell in einer Datei eine Zeile auslesen (6)

Frage von Bommi1961 zum Thema Installation ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (25)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (18)

Frage von theoberlin zum Thema Windows Server ...