Seite 1 von 1

Ich möchte in einem Ordner alle 40 Textdateien ändern.

Verfasst: 18.02.2021 21:35
von funkheld
Hallo, guten Tag.
Ich möchte in einem Order alle 40 Textdateien automatisch ändern.
In der zweiten Zeile möchte ich bei allen den Text "controller = FRA" ändern in "controller = GER".

Es sollte mit einem Aufruf des Purebasicprogrammes geschehen.

Der Ordner ist
D:\Spiel\france\
wo sich die Textdateien befinden.

Danke.
Gruss

Re: Ich möchte in einem Ordner alle 40 Textdateien ändern.

Verfasst: 18.02.2021 22:15
von helpy
Ich nehme für solche Aufgaben ausschließlich: grepWin ...
... oder Notepad++ und "Suchen/Ersetzen in Dateien".

Re: Ich möchte in einem Ordner alle 40 Textdateien ändern.

Verfasst: 20.02.2021 11:47
von juergenkulow
Hallo funkheld,

hier ein Vorschlag wie Deine Prozeduren aussehen könnten:

Code: Alles auswählen

;Text "controller = FRA" ändern
Declare meinDir(Verzeichnis$, List Dateinamen$()) ; mit ExamineDirectory
Declare ErsetzeStringInDatei(Dateiname$,Zeile.i,SuchString$, ErsatzString$) ; mit OpenFile

Re: Ich möchte in einem Ordner alle 40 Textdateien ändern.

Verfasst: 20.02.2021 21:04
von H.Brill
funkheld hat geschrieben:Hallo, guten Tag.
Ich möchte in einem Order alle 40 Textdateien automatisch ändern.
In der zweiten Zeile möchte ich bei allen den Text "controller = FRA" ändern in "controller = GER".

Es sollte mit einem Aufruf des Purebasicprogrammes geschehen.

Der Ordner ist
D:\Spiel\france\
wo sich die Textdateien befinden.

Danke.
Gruss
Soll es ein extra Programm werden ?
Ein Konsolenprogramm, ein normales mit Fenster,
oder vielleicht sogar eine Batchdatei ?

Am einfachsten ist es mit einer Listbox.
Wenn du der mit
sPath.s = "D:\Spiel\france\*.*"
_SendMessage(lb, $18D, 0, *sPath) ; LB_DIR
diese Message schickst, hast du das Zusammensuchen der Dateien
gespart. Die stehen dann alle in der Listbox, die du nacheinander
abarbeiten kannst. Die Zeilen der jeweiligen Datei in ein Array einlesen,
die zweite Zeile (2.Element des Arrays) mit ReplaceString() bearbeiten
und wieder zurück speichern.