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-Key: 117123

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

Printed on: April 24, 2024 at 06:04 o'clock

Mitglied: 77559
77559 May 29, 2009 at 13:44:54 (UTC)
Goto Top
Obwohl deine Frage so unbestimmt (um nicht konfus zu sagen) ist,
gibt es eine einfache Antwort.

@Start Notepad main.ini

Gruß
LotPings
Member: FanoStorm
FanoStorm May 29, 2009 at 15:11:59 (UTC)
Goto Top
Ist nicht das was ich suche. Hab den Text nochmal überarbeitet. Hoffe das es nun verständlicher ist.
Mitglied: 77559
77559 May 29, 2009 at 15:52:17 (UTC)
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
Member: FanoStorm
FanoStorm May 29, 2009 at 19:03:20 (UTC)
Goto Top
Super Arbeit, Danke dir!

Kleinigkeit. Wie kann man das machen, dass das Gleichzeichen erst nach einer Leertaste beim Nickname steht? ("Nickname =)
Mitglied: 77559
77559 May 29, 2009 at 19:11:07 (UTC)
Goto Top
Probiers doch einfach aus.

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

Gruß
LotPings
Member: FanoStorm
FanoStorm May 29, 2009 at 19:44:32 (UTC)
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!