AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe möglich

Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe möglich

Ein Thema von a.def · begonnen am 13. Mär 2017 · letzter Beitrag vom 13. Mär 2017
Antwort Antwort
a.def
(Gast)

n/a Beiträge
 
#1

Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe möglich

  Alt 13. Mär 2017, 11:22
Ich räume gerade meine Projektgruppe ein bisschen auf. Den Code natürlich auch.
Statt die Idents und Sections bei Ini-spezifischen hardcoded zu hinterlegen nutze ich jetzt Enums dafür. Wenn ich nun einen Ident oder eine Section umbenennen, muss ich das nur noch einmalig tun.
Sinn und Unsinn sei dahingestellt.

Meine Frage ist nun, ob es ein Tool gibt dem ich sagen kann "Nimm A, B, C in jeder Datei und ersetzte es durch D, E, F" ?

Geändert von a.def (13. Mär 2017 um 11:25 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe mög

  Alt 13. Mär 2017, 11:32
http://docwiki.embarcadero.com/RADSt...usdr%C3%BCcken
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#3

AW: Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe mög

  Alt 13. Mär 2017, 11:42
Code:
 refind *.pas /I /W /P:TQuery /R:TFDQuery
klingt vielversprechend. Kann man auch mehrere Suchbegriffe angeben? Ein erster Test fällt leider negativ aus und es wird nur die zuletzt gefundene Datei modifiziert.
Habe herausgefunden wie. Einfach eine BAT-Datei mit mehreren Aufrufen von reFind erstellen.

Geändert von a.def (13. Mär 2017 um 11:44 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#4

AW: Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe mög

  Alt 13. Mär 2017, 13:25
Ok so einfach ist es dann doch nicht. Ich scheitere daran dem zu suchenden String ' bzw " mitzugeben was ersetzt werden soll
/I /W /S /P:'width', /R:width, Gefunden werden soll 'width', (mit Leerzeichen am Ende) und ersetzt werden soll es mit width, (mit Leerzeichen am Ende).
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.993 Beiträge
 
Delphi 12 Athens
 
#5

AW: Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe mög

  Alt 13. Mär 2017, 14:03
Hast du mal versucht, die Ersetzungsregeln (eine pro Zeile im Format <searchpattern> -> <replacepattern>) in einer separaten Datei abzulegen und diese über den /X-Parameter dem ReFind zu übergeben?
Damit solltest du auch mit einem einzigen ReFind-Aufruf zum Ziel kommen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe mög

  Alt 13. Mär 2017, 14:23
Wenn es nicht unbedingt ein Kommandozeilentool sein soll, können auch Editoren wie Notepad++ das Ersetzen in mehreren Dateien. Einfach alle Dateien per Drag&Drop in den Editor ziehen und dann Ersetzen in allen offenen Dateien. Ist oft einfacher als erst einen Batch zusammenzubasteln, der dann wieder an irgendwelchen Sonderzeichen in den zu suchenden/zu ersetzenden Strings scheitert.
Außerdem sieht man so das Ergebnis auch gleich und kann die Suche einfacher testen.

Geändert von bra (13. Mär 2017 um 14:26 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#7

AW: Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe mög

  Alt 13. Mär 2017, 14:36
Habe mir das jetzt mit FNR zusammengebastelt:

Code:
fnr.exe --cl --dir C:\test --fileMask "*.txt" --includeSubDirectories --find "'width', " --replace "width, "
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.289 Beiträge
 
Delphi 12 Athens
 
#8

AW: Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe mög

  Alt 13. Mär 2017, 15:15
Moin...

Macht es euch nicht so schwer... Wenn ich das richtig verstanden habe, tuts das Stapel Ersetzen vom CNPack auch.
Miniaturansicht angehängter Grafiken
stapel.png  
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#9

AW: Batch String-Replace mehrerer Strings in mehreren Dateien einer Projektgruppe mög

  Alt 13. Mär 2017, 15:27
Klar tuts das Stapelersetzen von CNPack auch. Aber ich müsste den Vorgang dann für jeden Ident von Hand wiederholen
Bei unter 10 Idents geht das noch. Aber gerade eben hatte ich 64.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz