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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 211711
Url: https://administrator.de/contentid/211711
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
3 Kommentare
Neuester Kommentar
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