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