Ersetzen per Vbscript
Hallo zusammen,
ich habe eine Datei (Datei.txt) mit folgendem Inhalt:
1230ABC
Diese Datei soll wie folgt ersetzt werden:
1 = 33
2 = 67
3 = 12
Dafür habe ich auch schon einen Code:
Jedoch soll der ersetzte Wert (33) nicht noch einmal ersetzt werden!
Wie bekomme ich dies hin?
Vielen Dank im Vorraus,
Alme123
ich habe eine Datei (Datei.txt) mit folgendem Inhalt:
1230ABC
Diese Datei soll wie folgt ersetzt werden:
1 = 33
2 = 67
3 = 12
Dafür habe ich auch schon einen Code:
Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("Alt.txt").ReadAll: fso.CreateTextFile("Datei.txt",False).Write Replace(T,"1","33")
Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("Alt.txt").ReadAll: fso.CreateTextFile("Datei.txt",False).Write Replace(T,"2","67")
Set fso=CreateObject("Scripting.FileSystemObject"): T=fso.OpenTextFile("Alt.txt").ReadAll: fso.CreateTextFile("Datei.txt",False).Write Replace(T,"3","12")
Jedoch soll der ersetzte Wert (33) nicht noch einmal ersetzt werden!
Wie bekomme ich dies hin?
Vielen Dank im Vorraus,
Alme123
Please also mark the comments that contributed to the solution of the article
Content-ID: 211711
Url: https://administrator.de/contentid/211711
Printed on: October 9, 2024 at 17:10 o'clock
3 Comments
Latest comment
Moin,
Und dann eben die Datei neu schreiben
lg,
Slainte
/EDITH: Typos
Jedoch soll der ersetzte Wert (33) nicht noch einmal ersetzt werden!
Wie bekomme ich dies hin?
Wenn sich überlappungen ergeben so wie bei dir geht das nur manuell, d.h. jedes Zeichen in jeder Zeile der Datei durchlaufen und dann per select abprüfen... etwa so:Wie bekomme ich dies hin?
Zeichen=mid(x,y,EingabeZeile)
select case Zeichen
case is = "1"
Zeichen="33"
break
case is = "2"
Zeichen="67"
break
case is = "3"
Zeichen="12"
break
end select
AusgabeZeile=AusgabeZeile & Zeichen
lg,
Slainte
/EDITH: Typos
@ Slainte
Sähe ich auch so - syntaktisch hat das aber noch Potenzial :
Wenn es mehr als nur die 3 angeführten Ersetzungen geben sollte, würde sich ein "
Grüße
bastla
Sähe ich auch so - syntaktisch hat das aber noch Potenzial :
Set fso = CreateObject("Scripting.FileSystemObject")
T = fso.OpenTextFile("Alt.txt").ReadAll
For i = 1 To Len(T)
Zeichen = Mid(T, i, 1)
Select Case Zeichen
Case "1"
AusgabeZeile = AusgabeZeile & "33"
Case "2"
AusgabeZeile = AusgabeZeile & "67"
Case "3"
AusgabeZeile = AusgabeZeile & "12"
Case Else
AusgabeZeile = AusgabeZeile & Zeichen
End Select
Next
fso.CreateTextFile("Datei.txt").Write AusgabeZeile
Dictionary
" anbieten ...Grüße
bastla
Zugegeben, VBScript ist nicht so das Ding in dem ich jeden Tag was bastle