gringo123 10 Geschrieben 12. September 2010 Melden Teilen Geschrieben 12. September 2010 Hallo, der Script ist echt super, funktioniert tadellos. Ich möchte damit aber etwas mehr suchen und ersetzen, weis aber nicht wie ich das machen soll, habe schon viel rumprobiert, gegoogelt, u.s.w. Wie kann ich mehrere begriffe gleichzeitig suchen und ersetzen die nicht in einer Zeile sind? Habe in meinem gesuchten Texten auch „ Gänsefüßchen, wie kann ich die eingeben damit sie auch gesucht werden? Und wenn der Gesuchte Text aus einem Zeilenumbruch besteht geht das auch nicht, da kann man auch bestimmt was machen? Würde mich freuen wenn mir jemand helfen könnte. Danke im vorraus. Gruß Gringo123 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 13. September 2010 Melden Teilen Geschrieben 13. September 2010 @gringo: bitte keine Beiträge kapern, das führt ins Chaos Danke blub PS: der TO bezog sich auf das Skript aus diesem Thread http://www.mcseboard.de/windows-forum-scripting-71/per-script-ini-datei-text-schreiben-aendern-3-146314.html Zitieren Link zu diesem Kommentar
gringo123 10 Geschrieben 14. September 2010 Autor Melden Teilen Geschrieben 14. September 2010 Schade das keiner eine Antwort für mich hat, ich erkläre das noch mal. Es geht um folgenden Script: Set MyFiles = CreateObject("Scripting.FileSystemObject") varDatei="C:\a.txt" Set f = MyFiles.OpenTextFile(varDatei, 1) Text = f.ReadAll varSearch="AAAAAA" varReplace="BBBB" Set f = MyFiles.OpenTextFile(varDatei, 2, True) f.Write Replace(Text, varSearch, varReplace,1,-1,1) Es ersetzt die Wörter AAAAAA durch BBBB in einer Textdatei C:\a.txt Es kann aber nur ein Wort suchen u. ersetzen, ich möchte aber mehrere gleichzeitig suchen u. ersetzen. Befinden sich im Gesuchten Wort „“ Gänsefüßchen was bei meiner Textdatei oft vorkommt, schmeißt das Script nur noch eine Fehlermeldung. Wörter suchen die über ein Zeilenumbruch gehen kann das Script auch nicht :cry: Hat jemand eine Idee was ich am Script ändern kann? Gruß Gringo123 Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 14. September 2010 Melden Teilen Geschrieben 14. September 2010 Hi, warum muss die Suche nach mehreren Begriffen gleichzeitig erfolgen? Bau dir eine Funktion, die du mehrfach nacheinander mit den Parametern varDatei, varSearch und varReplace aufrufst. Für die Suche nach Gänsefüsschen und Zeilenumbruch beschäftige dich mit regulären Ausdrücken (google: vbscript regular expressions). Damit kannst du Sonderzeichen "maskieren" cu blub Zitieren Link zu diesem Kommentar
gringo123 10 Geschrieben 14. September 2010 Autor Melden Teilen Geschrieben 14. September 2010 Hallo blub, das klingt sicher sehr einfach für jemand der sich damit auskennt, der würde aber auch keine Hilfe suchen. Ich habe überhaupt keine Ahnung von vbscripte. Habe wie schon mal geschrieben viel Gegoogelt, aber alles was ich versuche erzeugt nur Fehlermeldungen. Für Gänsefüßchen soll man Chr(34) schreiben, aber das tut nichts. Bin echt am verzweifeln. Könntest du mir bitte ein Beispiel schreiben wie du das meinst. Gruß Gringo Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 14. September 2010 Melden Teilen Geschrieben 14. September 2010 Moin, Probier's mal in der Art: Set f = MyFiles.OpenTextFile(varDatei, 2, True) Varsearch = Chr(34) & "textzwischengänsefüssen" & Chr(34) Varreplace = "ersatztexzohnegänsefüssen" f.Write Replace(Text, varSearch, varReplace,1,-1,1) Varsearch = "textmit" & chr(13) & "Umbruch" Varreplace= "ersatztextohneumbruch" f.Write Replace(Text, varSearch, varReplace,1,-1,1) ... Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 15. September 2010 Melden Teilen Geschrieben 15. September 2010 Hallo blub, das klingt sicher sehr einfach für jemand der sich damit auskennt, der würde aber auch keine Hilfe suchen. Ich habe überhaupt keine Ahnung von vbscripte. Habe wie schon mal geschrieben viel Gegoogelt, aber alles was ich versuche erzeugt nur Fehlermeldungen. Für Gänsefüßchen soll man Chr(34) schreiben, aber das tut nichts. Bin echt am verzweifeln. Könntest du mir bitte ein Beispiel schreiben wie du das meinst. Gruß Gringo dann versuch doch einfach mal dich in Skripting einzuarbeiten! Solange du "überhaupt keine Ahnung vom Skripten hast", wäre auch ein Beispiel für dich sinnlos. cu blub Zitieren Link zu diesem Kommentar
gringo123 10 Geschrieben 20. September 2010 Autor Melden Teilen Geschrieben 20. September 2010 Hallo, @Cybquest dein Beispiel war richtig gut es funktioniert, nun weis ich wie das geht. Das mit dem Zeilenumbruch wollte aber nicht so richtig, aber dank Google habe ich rausgefunden das es so sein muss: varSearch= "vor Umbruch“ & CHR(13) & CHR(10) & „nach Umbruch“ Was mir nicht gelingt ist die Funktion, die mehrfach nacheinander mit den Parametern varDatei, varSearch und varReplace mehrere Begriffe nacheinander sucht u. ersetzt. Könntet ihr mir dabei noch etwas helfen? Gruß Gringo Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 21. September 2010 Melden Teilen Geschrieben 21. September 2010 Ungetestet... in der Art: ... Set f = MyFiles.OpenTextFile(varDatei, 2, True) ReplaceMyString("String1","Ersatz1") ReplaceMyString("String2" & chr(13) &chr(10) & "sss","String2) Function ReplaceMyString(varSearch,varReplace) f.Write Replace(Text, varSearch, varReplace,1,-1,1) End Function ... Jo, das mit chr(10) ist korrekt. Wird allerdings unterschiedlich gehandhabt. Hin und wieder reicht chr(13). chr(13) ist der sog. "Carriage return" (Wagenrücklauf... noch aus Schreibmaschinenzeiten ;) ) chr(10) ist "LineFeed" (Zeilenschaltung) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.