bladis
Goto Top

Einen Eintrag in einer .cfg hinzufügen (mit fortlaufender Nummer), aber wie?

Hallo zusammen,

ersteinmal vielen Dank für dieses klasse Forum. Es hat mir schon oft in Sachen Batch schreiben geholfen ohne selbst Fragen stellen zu müssen.
Allerdings konnte ich die Lösung für mein jetziges Problem nicht finden.

Es geht um eine Datei namens "scenery.cfg" (vielleicht kennt sie der eine oder andere, ist Teil des Flight Suimulator 2004)

In dieser Datei werden Scenerien im FS angemeldet. Ein Beispieleintrag wäre:

[Area.109]
Title=QuitoFS9
Layer=109
Active=TRUE
Required=FALSE
Local=SimMarket\QuitoFS9
Remote=

Ich würde nun gern eine Batch erstellen, die mir einen neuen Eintrag am Ende der .cfg erstellt. Dabei muss die Batch erkennen welches der letzte Eintrag in der scenery.cfg ist (in diesem Falle eben [Area.109])
Bis auf Layer=XXX , der die gleiche Zahl wie [Area.XXX] haben soll, sollen die anderen Parameter wie Title=, Active= usw. direkt in der Batch festgelegt werden.

Alles in allem sollte die Batch also in etwa so etwas schreiben :

[Area.*letzter Eintrag+1*]
Title=*steht in der Batch*
Layer=*gleich Area*
Active=TRUE
Required=FALSE
Local=*steht in der Batch*
Remote=

Ich hoffe mir kann jemand von euch helfen, jetzt schonmal vielen Dank!

Content-Key: 132993

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

Ausgedruckt am: 29.03.2024 um 05:03 Uhr

Mitglied: bastla
bastla 08.01.2010 um 15:14:07 Uhr
Goto Top
Hallo bladis und willkommen im Forum!

Soferne die Nummer verlässlich der letzten mit "Layer=" beginnenden Zeile entnommen werden kann, sollte das so gehen:
@echo off & setlocal
set "cfg=D:\Pfad\scenery.cfg"  

set "Nr="  
for /f "tokens=2 delims==" %%i in ('findstr /b "Layer=" "%cfg%"') do set /a "Nr=%%i"  
if not defined Nr echo Keine Nummer gefunden! & goto :eof
set /a Nr+=1

(echo\
echo [Area.%Nr%]
echo Title=*steht in der Batch*
echo Layer=%Nr%
echo Active=TRUE
echo Required=FALSE
echo Local=*steht in der Batch*
echo Remote=
)>>"%cfg%"  
Grüße
bastla
Mitglied: bladis
bladis 08.01.2010 um 15:32:26 Uhr
Goto Top
Alles klar,

das ging verdammt schnell.
Vielen Dank, funktioniert einwandfrei!
Mitglied: bastla
bastla 08.01.2010 um 15:36:49 Uhr
Goto Top
Hallo bladis!

Freut mich, wenn's passt. face-smile

das ging verdammt schnell.
Naja, ich arbeite auf das Wochenende hin ... face-wink

Grüße
bastla