Suchen und Ersetzen mit Sonderzeichen
Hallo zusammen,
ich brauche mal wieder eure Hilfe. Ich hab hier im Forum schon einiges gelernt und auch schon verschiedene Codeschnipsel für mich erfolgreich umgebogen.
Jetzt komme ich allerdings nicht weiter.
Ich möchte in einer Datei einen "Search-String" mit einem "Replace-String" ersetzen. Das funktioniert auch soweit ganz gut, allerdings nur wenn kein "&" im String
enthalten ist. Die Teilstrings sind leider mit einem "&" verknüpft.
test.txt => aaaaa&bbbbb&ccccc&ddddd
Ich hoffe jemand kann helfen!
Vielen Dank im Voraus
ich brauche mal wieder eure Hilfe. Ich hab hier im Forum schon einiges gelernt und auch schon verschiedene Codeschnipsel für mich erfolgreich umgebogen.
Jetzt komme ich allerdings nicht weiter.
Ich möchte in einer Datei einen "Search-String" mit einem "Replace-String" ersetzen. Das funktioniert auch soweit ganz gut, allerdings nur wenn kein "&" im String
enthalten ist. Die Teilstrings sind leider mit einem "&" verknüpft.
test.txt => aaaaa&bbbbb&ccccc&ddddd
set file=C:\test.txt
set string1=aaaaa
set string2=bbbbb
set string3=ccccc
set string4=ddddd
set string5=eeeee
set string6=fffff
set string7=ggggg
set string8=hhhhh
set "search=%string1%^&%string2%^&%string3%^&%string4%"
set "replace=%string5%^&%string6%^&%string7%^&%string8%"
::bis hier hin sieht es noch gut aus
echo %search%
echo %replace%
pause
::codeschipsel, hier aus dem forum
::suchen und ersetzen in datei wird nicht ausgeführt
set R=%temp%\Replacer.vbs
>%R% echo Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("%file%").ReadAll: fso.CreateTextFile("%file%",True).Write Replace(T,"%search%","%replace%")
cscript //nologo %R%
Ich hoffe jemand kann helfen!
Vielen Dank im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288405
Url: https://administrator.de/contentid/288405
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
6 Kommentare
Neuester Kommentar
Hi,
warum machst Du das nicht komplett in VBscript?!
E.
warum machst Du das nicht komplett in VBscript?!
Const filepath=C:\test.txt
Const string1=aaaaa
Const string2=bbbbb
Const string3=ccccc
Const string4=ddddd
Const string5=eeeee
Const string6=fffff
Const string7=ggggg
Const string8=hhhhh
searchstring= string1 & "&" & string2 & "&" & string3 & "&" & string4
replacestring= string5 & "&" & string6 & "&" & string7 & "&" & string8
Wscript.Echo searchstring
Wscript.Echo replacestring
pause
Set fso=CreateObject("Scripting.FileSystemObject")
T=fso.OpenTextFile(filepath).ReadAll
Wscript.Sleep 500
fso.CreateTextFile(filepath, True).Write Replace(T, searchstring, replacestring)
E.
Hallo snowdream!
so interpretiert:Gib zunächst "aaaaa" auf dem Bildschirm aus und führe danach die Anweisungen "bbbbb", "ccccc" und "ddddd" aus ...
Grüße
bastla
aber warum kann ich "search" nicht auf dem Bildschirm ausgeben?
"&" dient in Batch dazu, Anweisungen zu verknüpfen - daher wird einecho aaaaa&bbbbb&ccccc&ddddd
So hab ich ja keine Kontrolle was in der Variablen steht.
Wenn Du nur eine Kontroillausgabe brauchst, setze die Variable einfach unter Anführungszeichen, also:echo "%search%"
bastla