Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Eintrag in eine CFG-Datei schreiben bzw. löschen

Frage Entwicklung Installation

Mitglied: Pillack

Pillack (Level 1) - Jetzt verbinden

13.05.2010, aktualisiert 18.10.2012, 5534 Aufrufe, 2 Kommentare

Hallo und schönen guten Tag ins Forum. Mein Name ist Christian und ich komme aus Dortmund. Ich habe meine Stadt in den Flugsimulator X von Microsoft eingebunden.

Ich möchte automatisiert mittels einer Installationsroutine eine so genannte Addon Scenery in der Bibliothek des Flugsimulators X von Microsoft anmelden.

Kannst mir jemand eine kleine Hilfestellung geben, wie ich mittels einer Batch-Datei oder ähnlichem, einen Abschnitt in eine CFG-Datei Eintrage bzw. wieder Lösche?

Der Name dieser Szenerie ist Dortmund City und der Eintrag soll so aussehen:

[Area.xxx]
Title=Dortmund City
Local=Addon Scenery\Dortmund City
Active=FALSE
Layer=xxx
Required=FALSE

Wobei xxx für eine fortlaufende Nummer seht.


Auch stundenlanges Suchen im Internet brachte keinen befriedigenden Erfolg, obwohl einige Werkzeuge fürs An/Abmelden von Szenerien in Netz vorliegen, aber leider sind diese nicht für mich geeignet.

Meine Vorstellung für eine Prozedur sieht so aus:

Szenerie-Eintrag (Installation):

1. Richtigen Pfad zur Scenery.cfg finden.
2. Sicherheitskopie der originalen Scenery.cfg mit mit Namen "ORG_Dortmund City.cfg" erstellen.
3. Der Computer soll innerhalb der Datei Scenery.cfg nach dem Text "Dortmund City" suchen. Falls vorhanden, dann
soll er keine Änderungen an der Scenery.cfg vornehmen.
4. Wenn der Text "Dortmund City" nicht vorhanden ist, dann soll er einen Block mit forlaufender Nummer erstellen.

Der Block/Abschnitt soll so aussehen, wobei xxx die fortlaufende bzw. der letzte Eintrag ist.

[Area.xxx]
Title=Dortmund City
Layer=xxx
Active=TRUE
Required=FALSE
Local=Addon Scenery\Dortmund City
Remote=


Szenerie-Austrag (Deinstallation):

1. Richtigen Pfad zur Scenery.cfg finden.
2. Suche in der Datei Scenery.cfg nach dem Text "Dortmund City", unabhängig von der Nummer.
3. Wenn gefunden, den Kompletten Block entfernen.
4. Datei "ORG_Dortmund City.cfg" löschen.

Mein Pfad zur Scenery.cfg ist: %allusersprofile%\Microsoft\FSX\scenery.cfg
Aber wie muss der Pfad bei WinXP aussehen?

Ich wäre sehr Dankbar, wenn mir jemand in dieser Angelegenheit weiterhelfen könnte und hoffe somit auf eine Antwort.

Grüsse:
Christian

PS:
Mein System:
Win7 64bit, Intel Core2 Duo E8400
4GB RAM, Board: Asus P5QSE
Mitglied: bastla
13.05.2010, aktualisiert 18.10.2012
Hallo Christian!

Ein Stück für den "Installations"-Teil hatten wir ja schon mal hier ...

... und vielleicht lässt sich ja auch für XP ein Pfad unterhalb von "%allusersprofile%" unterstellen (kann ich allerdings nur mutmaßen).

Grüße
bastla
Bitte warten ..
Mitglied: bastla
14.05.2010 um 11:10 Uhr
Hallo Christian!

Die Deinstallation könnte etwa so gehen (wobei - vorerst - die Suche wie gestern schon angemerkt nur unter "%allusersprofile%" vorgenommen wird):
01.
@echo off & setlocal 
02.
set "Suche=Title=Dortmund City" 
03.
set "Basis=%allusersprofile%" 
04.
set "Datei=scenery.cfg" 
05.
 
06.
set "cfg=" 
07.
for /f "delims=" %%i in ('dir /s /b /a-d "%Basis%\%Datei%"^|findstr /i "\\FSX\\%Datei%"') do set "cfg=%%i" 
08.
if not defined cfg echo %Datei% nicht gefunden & goto :Ende 
09.
 
10.
set "Zeile=" 
11.
for /f "delims=:" %%i in ('findstr /i /b /n /c:"%Suche%" "%cfg%"') do set "ZNr=%%i" 
12.
if not defined ZNr echo "%Suche%" nicht gefunden! & goto :Ende 
13.
 
14.
set "ANr=" 
15.
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%cfg%"') do if %%i gtr %ZNr% if not defined ANr (set "Zeile=%%j" & call :ProcessLine1) 
16.
 
17.
if not defined ANr echo Area-Code nicht gefunden! & goto :Ende 
18.
if "%ANr%"=="NV" echo Area-Code nicht gefunden! & goto :Ende 
19.
 
20.
set "Suche=\[Area\.%ANr%\]" 
21.
set "bak=%temp%\%Datei%" 
22.
move "%cfg%" "%bak%" 
23.
set "Schreiben=True" 
24.
for /f "tokens=1* delims=:" %%i in ('findstr /n "^" "%bak%"') do set "Zeile=%%j" & call :ProcessLine2 
25.
goto :eof 
26.
 
27.
:ProcessLine1 
28.
if "%Zeile:~,1%"=="[" set "ANr=NV" & goto :eof 
29.
if "%Zeile%"=="" set "ANr=NV" & goto :eof 
30.
for /f "tokens=1* delims==" %%i in ("%Zeile%") do if /i "%%i"=="Layer" set "ANr=%%j" 
31.
goto :eof 
32.
 
33.
:ProcessLine2 
34.
echo "%Zeile%"|findstr "%Suche%">nul && (set "Schreiben=" & goto :eof) 
35.
if not defined Schreiben ( 
36.
    if "%Zeile:~,1%"=="[" set "Schreiben=True" 
37.
    if "%Zeile%"=="" set "Schreiben=True" 
38.
39.
if defined Schreiben >>"%cfg%" echo\%Zeile% 
40.
goto :eof 
41.
 
42.
:Ende 
43.
pause
Soferne das funktioniert, lässt sich die Suche nach der "scenery.cfg" auch in den oben verlinkten Installations-Ansatz integrieren.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Windows Server
gelöst Windows 2012R2 kann Datei nicht löschen (2)

Frage von Akcent zum Thema Windows Server ...

Batch & Shell
gelöst Batch Eingabe in Datei schreiben (2)

Frage von MedicalAd zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (23)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...

Linux Netzwerk
DHCP IP-vergabe erst nach 1-2 Minuten (11)

Frage von Maik82 zum Thema Linux Netzwerk ...