Jürgen: Registry-Pfad existiert?

Hallo  World,

kennt jemand eine Lösung/Funktion um zu überprüfen, ob ein bestimmter Registry-Pfad existiert? Es geht nicht um das Auslesen eines Keys oder Value - das ist nicht das Probelem.

Ich stelle mir eine Funktion vor, die "true" zurückgibt wenn der Reg.-Pfad existiert andernfalls "false" und die danach die variable "Ver" mit der Nummer der Version füllt. Aber vielleicht ist ja schon mein Ansatz falsch.

Es soll das Vorhandensein folgender, möglicher Pfade überprüft werden:

HKLM\Software\Name\Version\2.0\Install\ HKLM\Software\Name\Version\3.0\Install\ HKLM\Software\Name\Version\5.0\Install\ HKLM\Software\Name\Version\6.0\Install\ HKLM\Software\Name\Version\7.0\Install\

Meine Idee z.B.:

var i, Ver;
var RegRoot = "HKLM\Software\Name\Version\";
var RegInst = ".0\Install\";

for (i=2; i<=6; i++) {
Pfad auslesen lesen ...aber wie? };

Wenn Pfad vorhanden, dann Variable "Ver" entsprechend auf 2,3,5 oder 6 setzen

Ich komme mit dem WSH-Objekt "RegRead" irgendwie nicht zum gewünschten Ergebnis. Key und Value lesen ok, aber den Inhalt des Pfades? Wie macht mman das???

MFG
Jürgen

  1. Tach

    Tja, ich würde sagen, das geht schon allein deshalb schief, dass manche Systeme nicht mal eine Registry haben :-)

    jpa

    1. Tach

      Tja, ich würde sagen, das geht schon allein deshalb schief, dass manche Systeme nicht mal eine Registry haben :-)

      jpa

      Na super...seeeehr hilfreiche Antwort

      Jürgen

      1. Tja, ich würde sagen, das geht schon allein deshalb schief, dass manche Systeme nicht mal eine Registry haben :-)

        jpa

        Na super...seeeehr hilfreiche Antwort

        Das Problem ist die falsche Wahl des Themas, da du JS gewählt hast, ist die Antwort richtig.

        Ich habe beim lesen deines Postings ebenfalls den letzten Absatz nicht genau gelesen und hätte das Gleiche geantwortet.

        Struppi.

  2. Hi,

    ich versteh nicht ganz dein Problem. Also vorab, ich hab noch nicht mit Windows-Scripting gearbeitet, ich wühl mich nur gerade durch die Dokumentation: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsmthregread.asp bzw. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/wsobjwshshell.asp
    Wo ist dein Problem zu sagen:

    var mykey;
    var mykeyContent;
    for (i = 2; i<=6; i++) {
      mykey = RegRoot + i + RegInst;
      mykeyContent = WshShell.RegRead(mykey);
      if (mykeyContent != "")
         ...tu was...
    }

    Wenn bei dieser Abfrage in mykeyContent was drin ist, dann gabs denn Schlüssel. Wichtig: Am Ende des mykey muss ein "" stehen, damit klar ist, dass ein Schlüssel und kein Wert gesucht ist.

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(