maxerateur
Goto Top

Datensatz in Textdatei auswechseln

Wie kann ich in einer Textdatei einen bestimmten Datensatz auswechseln (in diesem Falle ein Nein in ein Ja)?

Erstmal eine Hallo und ein 'tschuldigung.
Ich weiß, dass es dieses Thema schon gab, aber leider konnte ich nicht mehr darauf antworten und fragen, wie der Code an sich funktioniert.

Es wäre für mich wichtig in einer Textdatei eine bestimmte Stelle zu finden und den nachfolgenden Datensatz zu verändern. Als Beispiel:


char_stat=Nein

soll zu

char_stat=Ja

werden.

Wie genau muss da der Code aussehen?

Als weitere Information: Das ganze wird für ein Spiel benötigt, dass ich aus Langeweile in einer Doppel-Freistunde angefangen habe. Alles funktioniert, nur ich würde gerade erreichen ein wiederholtes Töten von Bossgegnern zu verhindern.

Ich wäre Euch sehr dankbar, wenn Ihr Euch nochmal erbarmen würdet einem totalen Anfänger diesen Codefitzel zu erklären. Und falls Ihr sehen wollt, wie sich das Spiel bisher spielt, könnt Ihr ja auf http://www.maxerateur.de.vu gehen - unter Game Design.

Danke schon mal im Voraus für Eure Hilfe!

Content-Key: 89553

Url: https://administrator.de/contentid/89553

Printed on: April 18, 2024 at 22:04 o'clock

Member: bastla
bastla Jun 10, 2008, updated at Oct 18, 2012 at 16:35:49 (UTC)
Goto Top
Hallo Maxerateur und willkommen im Forum!

Falls die neue Zeile auch an's Ende darf, dann etwa:
@echo off & setlocal
set "Datei=D:\Deine Textdatei.txt"  
set "Von=char_stat=Nein"  
set "Nach=char_stat=Ja"  

set "DateiTmp=%Datei%.bak"  
findstr /x "%Von%" "%Datei%" >nul && (  
	findstr /x /v "%Von%" "%Datei%">"%DateiTmp%"  
	echo %Nach%>>"%DateiTmp%"  
	move "%DateiTmp%" "%Datei%"  
)
Gefunden (und ersetzt) wird hier nur, wenn eine ganze Zeile exakt mit der Schreibweise in %Von% übereinstimmt.

Für ein echtes "Ersetzen in einer Textdatei" findest Du ab hier zwei Möglichkeiten, die ich beide Batch vorziehe (da sie ua auch mit Sonderzeichen besser zurechtkommen).

Grüße
bastla
Member: Maxerateur
Maxerateur Jun 10, 2008 at 21:51:30 (UTC)
Goto Top
Hey,
danke vielmals. Es funktioniert tadellos und es macht nichts aus, wenn diese Information in der Textdatei ganz am Ende steht.

Also viele Dank für diese einfache Lösung. Dumm, dass ich da nicht selber drauf gekommen bin.


So, danke nochmal,
der Thread kann jetzt geschlossen werden face-smile