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, 4210 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Installation
gelöst Mit Powershell in einer Datei eine Zeile auslesen (6)

Frage von Bommi1961 zum Thema Installation ...

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

Frage von noah1400 zum Thema Batch & Shell ...

Webentwicklung
HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (10)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...