humpix
Lt. Junior Grade
- Registriert
- Sep. 2005
- Beiträge
- 317
Hallo Leute,
Ich möchte automatisch einen Wert in einer CFG ändern. Wäre mit Findstr soweit kein Problem, allerdings ist die Zeile an einer variablen Stelle und auch noch mehrfach vorhanden - ich darf aber nur eine ändern.
Beispielabschnitt der cfg:
// Hydro Polygons - Generic River - Perennial
[Texture.197]
Name=Hydro_Polygons_Generic_River_Perennial
Color=FF2938FF
guid={E5DD8B66-8E86-4E7E-BE58-6E94A91C8FF0}
Textures=OCEAN_SEA_LARGE_LAKE_0
FlattenMode=slope
FlattenPriority=41000
ExcludeAutogen=Yes
RenderToTexture=Yes
RenderPriority=81000
Water=Yes
// Hydro Polygons - Generic Canal/Channel - Perennial
[Texture.198]
Name=Hydro_Polygons_Generic_Canal_Channel_Perennial
Color=FF2938FF
guid={C4E055AB-0855-4D5C-8FB9-3318E1C8AB8A}
Textures=OCEAN_SEA_LARGE_LAKE_0
FlattenMode=slope
FlattenPriority=41000
ExcludeAutogen=Yes
RenderToTexture=Yes
RenderPriority=81000
Water=Yes
Die FlattenMode=slope soll auf FlattenMode=none geändert werden, allerdings nur die im Abschnitt // Hydro Polygons - Generic River - Perennial
Hab das hier schon versucht, brings aber nicht zum laufen:
@echo off & setlocal
set "cfg=D:\terrain.cfg"
set "Suche1=// Hydro Polygons - Generic River - Perennial"
set "Suche2=FlattenMode=slope"
set "Neu=FlattenMode=none"
set Zeile=
for /f "delims=:" %%i in ('findstr /b /n /c:"%Suche1%" "%cfg%"') do set Zeile=%%i
if not defined Zeile echo "%Suche1%" nicht gefunden! & pause & goto :eof
set /a Zeile+=1
for /f "tokens=1-2 delims=:" %%i in ('findstr /b /n /c:"%Suche2%" "%cfg%"') do (
if %%i neq %Zeile% (echo\%%j) else (echo %Neu%)
)>>"%cfg%"
Hat jemand einen eleganten Tipp dafür?
"Sucher zuerst nach x, dann ab diesere Zeile nach y und dann ändere die Zeile"
LG und Danke!
Ich möchte automatisch einen Wert in einer CFG ändern. Wäre mit Findstr soweit kein Problem, allerdings ist die Zeile an einer variablen Stelle und auch noch mehrfach vorhanden - ich darf aber nur eine ändern.
Beispielabschnitt der cfg:
// Hydro Polygons - Generic River - Perennial
[Texture.197]
Name=Hydro_Polygons_Generic_River_Perennial
Color=FF2938FF
guid={E5DD8B66-8E86-4E7E-BE58-6E94A91C8FF0}
Textures=OCEAN_SEA_LARGE_LAKE_0
FlattenMode=slope
FlattenPriority=41000
ExcludeAutogen=Yes
RenderToTexture=Yes
RenderPriority=81000
Water=Yes
// Hydro Polygons - Generic Canal/Channel - Perennial
[Texture.198]
Name=Hydro_Polygons_Generic_Canal_Channel_Perennial
Color=FF2938FF
guid={C4E055AB-0855-4D5C-8FB9-3318E1C8AB8A}
Textures=OCEAN_SEA_LARGE_LAKE_0
FlattenMode=slope
FlattenPriority=41000
ExcludeAutogen=Yes
RenderToTexture=Yes
RenderPriority=81000
Water=Yes
Die FlattenMode=slope soll auf FlattenMode=none geändert werden, allerdings nur die im Abschnitt // Hydro Polygons - Generic River - Perennial
Hab das hier schon versucht, brings aber nicht zum laufen:
@echo off & setlocal
set "cfg=D:\terrain.cfg"
set "Suche1=// Hydro Polygons - Generic River - Perennial"
set "Suche2=FlattenMode=slope"
set "Neu=FlattenMode=none"
set Zeile=
for /f "delims=:" %%i in ('findstr /b /n /c:"%Suche1%" "%cfg%"') do set Zeile=%%i
if not defined Zeile echo "%Suche1%" nicht gefunden! & pause & goto :eof
set /a Zeile+=1
for /f "tokens=1-2 delims=:" %%i in ('findstr /b /n /c:"%Suche2%" "%cfg%"') do (
if %%i neq %Zeile% (echo\%%j) else (echo %Neu%)
)>>"%cfg%"
Hat jemand einen eleganten Tipp dafür?
"Sucher zuerst nach x, dann ab diesere Zeile nach y und dann ändere die Zeile"
LG und Danke!
Zuletzt bearbeitet: