no0noboody0on
Goto Top

Eingabe über Batch in einer bestimmte zeile in einer ini od. txt überschreiben

Hi zusammen,

Wie ich meine bestimmte zeile in einer ini datei finde und auslesen kann bzw. anweden kann weiß ich mittlerweile nur,

mein problemm ist ich möchte eine eingabe eines pfad über eine batch machen und diese in der ini datei in dieser zeile ändern bzw. wenn noch nicht vorhanden in dieser zeile neu einzutragen.

Ich habe mich jetzt schon ne halbe ewigkeit durch das forum gesucht aber nix für mich passendes bzw. versändliches gefunden ich hoffe mir kann einer helfen.

Das habe ich geschafft und geht auch

@echo off

FOR /F "delims=:" %%i in ('findstr /N /B /L /C:"[WinTV-Pfad]" "pfad.ini"') do set zeile=%%i  

set "wert="  
FOR /F "skip=%zeile% delims=" %%i in ('type "pfad.ini"') do if not defined wert set wert=%%i  

:start
echo Ihr Pfad ist %wert% moechten sie den aendern?

set /p abfrage=[J/N]:

if %abfrage%==j goto neu
if %abfrage%==n goto weiter
goto start

:neu


echo Pfad ist geaendert moechten sie fortfahren?
set /p abfrage2=[J/N]:

if %abfrage2%==j goto start
if %abfrage2%==n goto weiter
goto start


:weiter

start %wert%

Content-Key: 165092

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

Ausgedruckt am: 29.03.2024 um 08:03 Uhr

Mitglied: bastla
bastla 23.04.2011 um 12:00:27 Uhr
Goto Top
Hallo no0Noboody0on und willkommen im Forum!

Das Eingeben des neuen Pfades kannst Du etwa so realisieren:
set "Neu"=  
set /p "Neu=Bitte neuen Pfad eingeben: "  
if not defined Neu goto :start
echo Neuer Pfad: %Neu%
Um in die schon bekannte Zeile %zeile%+1 zu schreiben, alle Zeilen durchgehen und alle übrigen unverändert lassen - ungetestet etwa so:
move "pfad.ini" %temp%\pfad.ini  
set /a zeile+=1
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" %temp%\pfad.ini') do (  
    if %%i neq %zeile% (
        echo\%%j
    ) else (
        echo\%Neu%
    )
)>>pfad.ini
BTW: Mit
if /i %abfrage2%==j goto start
wird auch ein "J" akzeptiert ...

Grüße
bastla
Mitglied: no0Noboody0on
no0Noboody0on 23.04.2011 um 12:57:29 Uhr
Goto Top
Super Danke für die schnelle hielfe geht einwand frei musste nur noch ein parr kleine fehler aus merzen und schon ging alles wie gewollt.
ein echt klasse forum hier dickes lob an alle mod.

Hier für alle die es auch brauchen können oder interesiert

@echo off

:start
FOR /F "delims=:" %%i in ('findstr /N /B /L /C:"[WinTV-Pfad]" "pfad.ini"') do set zeile=%%i  

set "wert="  
FOR /F "skip=%zeile% delims=" %%i in ('type "pfad.ini"') do if not defined wert set wert=%%i  

echo Ihr Pfad ist %wert% moechten sie den aendern?

set /p abfrage=[J/N]:

if /i %abfrage%==j goto neu
if /i %abfrage%==n goto weiter
goto start

:neu

set /p "Neu=Bitte neuen Pfad eingeben: "  
if not defined Neu goto :start
echo Neuer Pfad: %Neu%

move "pfad.ini" %temp%\pfad.ini  
set /a zeile+=1
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" %temp%\pfad.ini') do (  
    if %%i neq %zeile% (
        echo\%%j
    ) else (
        echo\%Neu%
    )
)>>pfad.ini

del %temp%\pfad.ini

echo Pfad ist geaendert?

goto start

:weiter

start %wert%