Bestimmte Zeilen aus mehreren Dateien in eine Date schreiben
Bestimmte Zeilen aus mehreren Dateien in eine Date schreiben
Hallo,
ich möchte aus den Dateien eines Verzeichnisses alle Zeilen, die mit 'string1' beginnen in eine einzige neue Datei schreiben.
Ich sag schon mal danke für eure Hilfe.
ich möchte aus den Dateien eines Verzeichnisses alle Zeilen, die mit 'string1' beginnen in eine einzige neue Datei schreiben.
Ich sag schon mal danke für eure Hilfe.
Aha und wo genau brauchst du Hilfe?
Beim durchsuchen eines Ordners, Einlesen einer Datei, Speichern in eine andere oder ganz wo anders?
Wenn du wissen willst welche Zeile mit "string1" beginnt:
Beim durchsuchen eines Ordners, Einlesen einer Datei, Speichern in eine andere oder ganz wo anders?
Wenn du wissen willst welche Zeile mit "string1" beginnt:
Code: Alles auswählen
If Left(String$, 7) = "string1"
...
...
EndIf
Zuletzt geändert von Frogger am 17.10.2006 23:16, insgesamt 1-mal geändert.
[PB4.20]
Re: Bestimmte Zeilen aus mehreren Dateien in eine Date schre
> ich möchte aus den Dateien eines Verzeichnisses alle Zeilen, die mit
> 'string1' beginnen in eine einzige neue Datei schreiben.
Dateien kannst Du mit ReadFile() auslesen. Die darin enthaltenen Zeilen
kannst Du mit ReadString() ermitteln. Innerhalb eines Strings kann man mit
FindString() eine Zeichenkette suchen. Eine neue Datei kannst Du mit
CreateFile() erstellen. Dort hinein kann man mit WriteString() schreiben.
Grüße ... Kiffi
> 'string1' beginnen in eine einzige neue Datei schreiben.
Dateien kannst Du mit ReadFile() auslesen. Die darin enthaltenen Zeilen
kannst Du mit ReadString() ermitteln. Innerhalb eines Strings kann man mit
FindString() eine Zeichenkette suchen. Eine neue Datei kannst Du mit
CreateFile() erstellen. Dort hinein kann man mit WriteString() schreiben.
Grüße ... Kiffi
a²+b²=mc²
da brauchts kein PB für, eine Zeile in der Shell genügt:

Code: Alles auswählen
type *|find "string1" > neuedatei.txt

PB 4.02 XP Pro SP2 "Der Code ist willig, aber der Prozessor ist schwach."
Es gibt keine Vista-Witze. Es ist alles wahr!
Es gibt keine Vista-Witze. Es ist alles wahr!
Danke für die prompten Antworten.
Ideal wäre, wenn das Programm alle Dateien in bestimmten Verzeichnissen (ohne Unterverzeichnis) nach Zeilen, die mit 'string1' beginnen durchsucht und diese in eine neue Datei schreibt.
Irgendwie klappt´s mit der Schleife bei mir nicht.
In PB will ich es schon machen, um ein bißchen Erfahrung zu sammeln.
Ideal wäre, wenn das Programm alle Dateien in bestimmten Verzeichnissen (ohne Unterverzeichnis) nach Zeilen, die mit 'string1' beginnen durchsucht und diese in eine neue Datei schreibt.
Irgendwie klappt´s mit der Schleife bei mir nicht.
In PB will ich es schon machen, um ein bißchen Erfahrung zu sammeln.
ordner auswählen, zieldatei auswählen. dann werden alle zeilen in den dateien im ordner, welche mit "string1" beginnen, in der zieldatei gesammelt.
Code: Alles auswählen
Procedure gatherLines( path.s, file.s, search.s )
Protected line.s
If CreateFile(0, file)
If ExamineDirectory(1, path, "*.*")
While NextDirectoryEntry(1)
If ReadFile(2, path+DirectoryEntryName(1) )
While Not Eof(2)
line=ReadString(2)
If Left(line, Len(search)) = search
WriteStringN(0, line)
EndIf
Wend
CloseFile(2)
EndIf
Wend
FinishDirectory(1)
EndIf
CloseFile(0)
EndIf
EndProcedure
ordner.s=PathRequester("","")
zieldatei.s=SaveFileRequester("","sammelbox01.txt", "*.txt|*.*", 0)
suchen.s="string1"
gatherLines( ordner, zieldatei, suchen )
Re: Bestimmte Zeilen aus mehreren Dateien in eine Date schre
Statt CreateFile() lieber mit OpenFile() testen, ob schon vorhanden.Kiffi hat geschrieben:> ich möchte aus den Dateien eines Verzeichnisses alle Zeilen, die mit
> 'string1' beginnen in eine einzige neue Datei schreiben.
Dateien kannst Du mit ReadFile() auslesen. Die darin enthaltenen Zeilen
kannst Du mit ReadString() ermitteln. Innerhalb eines Strings kann man mit
FindString() eine Zeichenkette suchen. Eine neue Datei kannst Du mit
CreateFile() erstellen. Dort hinein kann man mit WriteString() schreiben.
Grüße ... Kiffi
Re: Bestimmte Zeilen aus mehreren Dateien in eine Date schre
Mit OpenFile kann man nicht testen, ob eine Datei bereits besteht. Das machtAlves hat geschrieben:Statt CreateFile() lieber mit OpenFile() testen, ob schon vorhanden.
man bevorzugterweise mit FileSize().
Grüße ... Kiffi
a²+b²=mc²