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, 4240 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
PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
Jeden morgen Internet-Probleme (51)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (21)

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

Windows 7
Bluesreens unternehmensweit (19)

Frage von SYS64738 zum Thema Windows 7 ...