Zwei .ini-Files vergleichen, einzelne Werte überprüfen und ein anderen Wert kopieren und ersetzen
Hallo zusammen,
vorab schon mal: Ich bin ein blutiger Anfänger was VBS angeht. Also nimmt es mir bitte nicht übel falls ich etwas falsch formuliere u.o.ä..
Ich soll für meinen Chef ein VBScript schreiben, welches aus 2 Teilen besteht. Der erste Teil besteht daraus, dass ich Werte aus der Registry auslese und in eine .ini-File abspeichere. Das hab ich auch soweit geschafft. Der zweite Teil besteht daraus, dass ich eine .ini-File (File1) einlese, aus der neuerstellten .ini-File (File2) einen Wert ausliest, ihn vergleicht und ersetzt. Da ich selbst gerade Probleme habe es zu beschreiben, hier ein Beispiel:
Erst soll der Wert nach dem " = " (Istgleich) eingelesen werden und überprüft werden aus der File1.ini welchen Wert dahinter steht. Diesen Wert (nach dem Istgleich-Zeichen) dann entsprechend kopieren und in File2.ini austauschen. Das Resultat soll wiefolgt aussehen:
Ich sitze nun seit paar Tagen daran...komme nicht voran und mir raucht um ehrlich zu sein der Kopf. Die Überprüfung unter den einzelnen (gleichnamigen) Sektionen ist sehr wichtig, da ich auch Registrykeys habe, die 1-180 Möglichkeiten anbietet einzustellen.
Sorry, wenn ich mich jetzt wiederholt habe, aber ich bin am Ende meines nicht vorhandenen Lateins.
Lange Rede kurzer Sinn: Hat jemand einen Lösung für mich? Ich weiß, dass ich mit split() z.B. die Werte nach dem Istgleich auslesen kann, aber diese in der anderen Ini-File zu überprüfen, den dahintersteckenden Wert kopieren und zu ersetzen ist für mein Hirn gerade der Supergau.
Danke schon mal im Voraus.
Gruß Pfuscher
vorab schon mal: Ich bin ein blutiger Anfänger was VBS angeht. Also nimmt es mir bitte nicht übel falls ich etwas falsch formuliere u.o.ä..
Ich soll für meinen Chef ein VBScript schreiben, welches aus 2 Teilen besteht. Der erste Teil besteht daraus, dass ich Werte aus der Registry auslese und in eine .ini-File abspeichere. Das hab ich auch soweit geschafft. Der zweite Teil besteht daraus, dass ich eine .ini-File (File1) einlese, aus der neuerstellten .ini-File (File2) einen Wert ausliest, ihn vergleicht und ersetzt. Da ich selbst gerade Probleme habe es zu beschreiben, hier ein Beispiel:
File1.ini (zuvor schon definiert)
[AutoUpdate]
0=Automatische Updates sind deaktiviert.
1=Automatische Updates sind aktiviert.
File2.ini (neu erstellt, nach auslesen der Registry)
[AutoUpdate]
AutoUpdate=1
Erst soll der Wert nach dem " = " (Istgleich) eingelesen werden und überprüft werden aus der File1.ini welchen Wert dahinter steht. Diesen Wert (nach dem Istgleich-Zeichen) dann entsprechend kopieren und in File2.ini austauschen. Das Resultat soll wiefolgt aussehen:
File2.ini
[AutoUpdate]
AutoUpdate=Automatische Updates sind aktiviert.
Ich sitze nun seit paar Tagen daran...komme nicht voran und mir raucht um ehrlich zu sein der Kopf. Die Überprüfung unter den einzelnen (gleichnamigen) Sektionen ist sehr wichtig, da ich auch Registrykeys habe, die 1-180 Möglichkeiten anbietet einzustellen.
Sorry, wenn ich mich jetzt wiederholt habe, aber ich bin am Ende meines nicht vorhandenen Lateins.
Lange Rede kurzer Sinn: Hat jemand einen Lösung für mich? Ich weiß, dass ich mit split() z.B. die Werte nach dem Istgleich auslesen kann, aber diese in der anderen Ini-File zu überprüfen, den dahintersteckenden Wert kopieren und zu ersetzen ist für mein Hirn gerade der Supergau.
Danke schon mal im Voraus.
Gruß Pfuscher
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 451160
Url: https://administrator.de/contentid/451160
Ausgedruckt am: 25.11.2024 um 07:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo @Pfuscher,
ich versuche mal, den Knoten in Deinem Hirn zu lösen.
Unter Verwendung meiner VBScript-Klasse, die im obigen Beitrag bereits verlinkt ist, würde die folgende Zeile das Gewünschte erledigen:
Da ich allerdings vermute, dass Du gerade in einer Ausbildung steckst und diese Aufgabe von Deinem Ausbilder stammt, würde ich Dir davon abraten meine INI-File-Klasse zu verwenden. Wäre ich Dein Ausbilder müsstest Du mir in diesem Fall nämlich Zeile für Zeile erklären, wie deren Code funktioniert.
Der obige Code soll nur dazu dienen, Dir ein Verständnis der nötigen Schritte zum Lösen der Aufgabe zu ermöglichen.
Grüße
Friemler
ich versuche mal, den Knoten in Deinem Hirn zu lösen.
Unter Verwendung meiner VBScript-Klasse, die im obigen Beitrag bereits verlinkt ist, würde die folgende Zeile das Gewünschte erledigen:
objIniFile2.Value("AutoUpdate", "AutoUpdate") = objIniFile1.Value("AutoUpdate", objIniFile2.Value("AutoUpdate", "AutoUpdate"))
Da ich allerdings vermute, dass Du gerade in einer Ausbildung steckst und diese Aufgabe von Deinem Ausbilder stammt, würde ich Dir davon abraten meine INI-File-Klasse zu verwenden. Wäre ich Dein Ausbilder müsstest Du mir in diesem Fall nämlich Zeile für Zeile erklären, wie deren Code funktioniert.
Der obige Code soll nur dazu dienen, Dir ein Verständnis der nötigen Schritte zum Lösen der Aufgabe zu ermöglichen.
Grüße
Friemler