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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 117123
Url: https://administrator.de/contentid/117123
Printed on: April 24, 2024 at 06:04 o'clock
6 Comments
Latest comment
Obwohl deine Frage so unbestimmt (um nicht konfus zu sagen) ist,
gibt es eine einfache Antwort.
Gruß
LotPings
gibt es eine einfache Antwort.
@Start Notepad main.ini
Gruß
LotPings
:: 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 :::::::::::::::::::::::::::::::::::::::::::::::::::
LotPings
Leerzeichen eingefügt
Probiers doch einfach aus.
Habe oben Leerzeichen eingfügt, aber nicht getestet.
Das überlasse ich ganz dir.
Gruß
LotPings
Habe oben Leerzeichen eingfügt, aber nicht getestet.
Das überlasse ich ganz dir.
Gruß
LotPings