Werte in einer Datei in verschiedenen Pfaden auslesen und ersetzen
Guten Morgen,
ich beziehe mich auf den beitrag Bestimmten gefundenen Wert aus txt verarbeiten - - etwas weiter am ende des beitrages
das problem ist das folgende:
in einer INI-datei stehen pfade zu verschiedenen ordnern, in denen sich eine bestimmte datei befindet, in der ein wert (name) gesucht und ersetzt werden soll. in dem beitrag oben wurde das schon im ansatz behandelt. doch leider gelingt es mir nur entweder den ersten, Xten oder letzten gefundenen pfad in der INI-datei zu bearbeiten. bearbeitet müssen aber alle eventuell gefundenen pfade werden.
ihr könnt bestimmt helfen.
Danke
ich beziehe mich auf den beitrag Bestimmten gefundenen Wert aus txt verarbeiten - - etwas weiter am ende des beitrages
das problem ist das folgende:
in einer INI-datei stehen pfade zu verschiedenen ordnern, in denen sich eine bestimmte datei befindet, in der ein wert (name) gesucht und ersetzt werden soll. in dem beitrag oben wurde das schon im ansatz behandelt. doch leider gelingt es mir nur entweder den ersten, Xten oder letzten gefundenen pfad in der INI-datei zu bearbeiten. bearbeitet müssen aber alle eventuell gefundenen pfade werden.
ihr könnt bestimmt helfen.
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 146458
Url: https://administrator.de/contentid/146458
Ausgedruckt am: 19.11.2024 um 17:11 Uhr
9 Kommentare
Neuester Kommentar
Moin Moin,
Nehme Deine funktioniere Batch-Datei und bau eine weitere Schleife oder Aufruf drumherum, die Deine Batch solange aufruft, bis der veralterte Pfad nicht mehr gefunden wird.
Markus
doch leider gelingt es mir nur entweder den ersten, Xten oder letzten gefundenen pfad in der INI-datei zu bearbeiten
ich misch mal so als Ahnungsloser mit und würde in diesem Fall folgendes empfehlen.Nehme Deine funktioniere Batch-Datei und bau eine weitere Schleife oder Aufruf drumherum, die Deine Batch solange aufruft, bis der veralterte Pfad nicht mehr gefunden wird.
Markus
Hallo Conneccthor,
dein letztes Feedback in obigem Beitrag war das nicht hilfreiche "ähmm... geht nicht. "
In meine letzte Batch-version könntest du ja auch mal Echos zur Abgrenzung einfügen wann was nicht funktioniert.
Es ist ein bisschen viel verlangt, wenn wir deine Umgebung möglichst genau nachstellen sollen.
Gruß
LotPings
dein letztes Feedback in obigem Beitrag war das nicht hilfreiche "ähmm... geht nicht. "
In meine letzte Batch-version könntest du ja auch mal Echos zur Abgrenzung einfügen wann was nicht funktioniert.
Es ist ein bisschen viel verlangt, wenn wir deine Umgebung möglichst genau nachstellen sollen.
Gruß
LotPings
Das ist wohl mehr als eine Kleinigkeit,
Zeile 17 schreibst du besser so:
Gruß
LotPings
- ist irgendwo ein Befehl SetLocal EnableDelayedExpansion ?
- woher kommt %Ini%, was steht drin ?
Zeile 17 schreibst du besser so:
for /f "usebackq delims=" %%k in (%1) do set "L=%%k" & >>"%PrefNEW%" echo.!L:%Von%=%Nach%!
Gruß
LotPings
Zitat von @connecthor:
ja, das SetLocal EnableDelayedExpansion steht am anfang der batch.
das %ini% beschreibt nur den pfad zur einstellungsdatei in der die pfade stehen, die er auslesen soll, wo dann die jeweils zu
bearbeitende PREFS.JS steht.
Im Ursprungsposting hattest du doch schon einen Befehl, der nicht den kompletten Inhalt der %Ini% sondern nur die Zeilen die mit "path=" beginnen, verarbeitet hat.ja, das SetLocal EnableDelayedExpansion steht am anfang der batch.
das %ini% beschreibt nur den pfad zur einstellungsdatei in der die pfade stehen, die er auslesen soll, wo dann die jeweils zu
bearbeitende PREFS.JS steht.
Was steht denn z.Bsp. in der Datei "C:\del\28nf2bg2.default\prefs.NEW" drin?
Gruß
LotPings
Zitat von @connecthor:
das im ursprungsposting hast du schon mit dem
For /f "UseBackQ Tokens=1,* Delims==" %%A in (%Ini%) Do Call :ProcessFile "%%B\prefs.js"
abgehandelt.
Die war nicht gemeint sonder die Zeile wo statt nur %Ini% ein Findstr mit "path=" stand, die Logik dahinter solltest du inzwischen eigentlich begriffen haben.das im ursprungsposting hast du schon mit dem
For /f "UseBackQ Tokens=1,* Delims==" %%A in (%Ini%) Do Call :ProcessFile "%%B\prefs.js"
abgehandelt.
Gruß
LotPings