fanostorm
Goto Top

Bestimmten Eintrag in einer Datei durch einen per Eingabe ersetzen

Hallo,

und zwar wollte ich eine Batchdatei machen.


Die in einer Datei "main.ini" (Sind mehrere Zeilen vorhanden) "Nickname = Dein Name" ändert. Man soll den Namen per "set /p" bestimmen können.

Zum Beispiel es wurde "Test" eingeben, so sollte dann in der main.ini anstatt "Nickname = Dein Name" (Standard) -> "Nickname = Test" stehen.

Das ganze sollte dann vielleicht auch so sein, dass "Nickname = Dein Name" nicht als Anhaltspunkt verwendet wird. Damit man den Namen beliebig oft wieder ändern kann.


Hab leider noch nicht soviel Kenntnisse. Würde mich freuen wenn mir vielleicht jemand hilft das möglich zu machen.


Vielen Dank im Vorraus

Content-ID: 117123

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

Ausgedruckt am: 14.11.2024 um 15:11 Uhr

77559
77559 29.05.2009 um 15:44:54 Uhr
Goto Top
Obwohl deine Frage so unbestimmt (um nicht konfus zu sagen) ist,
gibt es eine einfache Antwort.

@Start Notepad main.ini

Gruß
LotPings
FanoStorm
FanoStorm 29.05.2009 um 17:11:59 Uhr
Goto Top
Ist nicht das was ich suche. Hab den Text nochmal überarbeitet. Hoffe das es nun verständlicher ist.
77559
77559 29.05.2009 um 17:52:17 Uhr
Goto Top
:: ChangeNick.cmd :::::::::::::::::::::::::::::::::::::::::::::::::::
@Echo off&Setlocal
Set "Datei=F:\Test\main.ini"  
For /f "tokens=1,* delims==" %%A in (  
  'Findstr /i "^Nickname" %Datei%'  
    ) DO Set "OldNick=%%B"  
CLS
Echo IN Datei %Datei%
Echo Alten Nickname :%OldNick% ersetzen durch
Set /P NewNick=Neuen Nicknamen :
if not defined NewNick goto :EOF
Move /Y "%Datei%" "%Datei%.Bak"  
For /F "delims=" %%A in ('Type "%Datei%.Bak"'  
  ) Do If /i Not "%%A"=="Nickname =%OldNick%" (  
  >>"%Datei%" Echo/%%A  
) Else (
  >>"%Datei%" Echo Nickname =%NewNick%  
)
:: ChangeNick.cmd :::::::::::::::::::::::::::::::::::::::::::::::::::
Gruß
LotPings

Leerzeichen eingefügt
FanoStorm
FanoStorm 29.05.2009 um 21:03:20 Uhr
Goto Top
Super Arbeit, Danke dir!

Kleinigkeit. Wie kann man das machen, dass das Gleichzeichen erst nach einer Leertaste beim Nickname steht? ("Nickname =)
77559
77559 29.05.2009 um 21:11:07 Uhr
Goto Top
Probiers doch einfach aus.

Habe oben Leerzeichen eingfügt, aber nicht getestet.
Das überlasse ich ganz dir.

Gruß
LotPings
FanoStorm
FanoStorm 29.05.2009 um 21:44:32 Uhr
Goto Top
Hatte schon probiert. Mein Fehler war oben funktioniert das nicht, wenn ich da bei Nickname ein Leerzeichen rein mach. Naja

Jetzt ist ja alles bestens. Vielen lieben Dank!