1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Batchdatei / Windowsregistrierung

Discussion in 'Software allgemein' started by baspro, Oct 7, 2002.

Thread Status:
Not open for further replies.
  1. baspro

    baspro Byte

    Weis jemand von euch wie ich aus einer Batchdatei auf die
    Windowsregistrierung zugreifen kann ?
    Ich möchte verschiedene Schlüssel ändern bzw. löschen.
     
  2. franzkat

    franzkat CD-R 80

    Hallo Frank !

    Das Auslesen geht mit VBS eigentlich wesentlich eleganter :

    Beispiel :
    Set WshShell = Wscript.CreateObject("Wscript.Shell")
    Daten = WshShell.RegRead("HKCU\Software\Microsoft\Internet Explorer\SearchUrl\")
    Wscript.Echo Daten

    franzkat
     
  3. Pedant

    Pedant Byte

    Das @= ist tatsächlich überflüssig.
    Danke für den Tipp mit
    "MeinWert"=-
    Wenn man jetzt noch wüsste, wie man per Batch gezielt Werte aus der Registrierung ausließt.
    Gruß Frank
     
  4. baspro

    baspro Byte

    Ok Danke ich habs ausprobiert, funktioniert optimal.
    Danke für den Tip.
     
  5. Pedant

    Pedant Byte

    Um Regdatein zu erzeugen markierst du in Regedit einen Schlüssel in der linken Ansicht mit der rechten Maustaste und wählst dann im Kontextmenü "exportieren" und vergibst dann einen Namen für die Regdatei die erzeugt wird.
    Danach kannst Du über Arbeitsplatz oder Explorer die erzeugt Datei öffnen, indem Du mit der rechten Maustaste auf die Datei klickst und bearbeiten wählst.
    Die Datei wird dann im Editor (Notepad) geöffnet.
    Regdateien sind reine Textdateien ohne jede Formatierung.
    Wenn Du durch gezielten export des einen oder anderen Schlüssels ein parr Dateien erzeugt hast, kannst Du die Darstellung im Editor mit der darstellung in Regedit vergleichen.
    Über diesen Weg wird Dir sicher von alleine klar wie eine Regdatei aufgebaut ist.
    Die Struktur ist nämlich recht einfach.
    Dann kannst Du mal anfangen per Regedit eigene unnützte Schlüssel und Werte hinzuzufügen, diese zu exportieren, die dann erzeugte Regdatei zu verändern, per Doppelklick wieder zu importieren und sehen wie es sich in Regedit auswirkt. Nach ein paar Versuchen kannst Du sicher eigene Regdateien schreiben, die genau das machen was Du willst.
    Übrigens muss Regedit nicht geschlossen werden wenn per Doppelklick Regdateien importierst.
    Wenn Du Regedit dabei offen lässt und an der entsprechenden Stelle bist, kannst Du die Auswirkungen gleich sehen und beurteilen ob das Gewünschte eingetreten ist.
    Sei unbedingt sorgfältig damit, beim import wird nicht geprüft, ob Du Dir damit Dein System zerschießt oder etwas vernünftiges machst.
    Aber keine Angst, wenn Du\'s langsam angehst wird schon nix passieren.

    Nachtrag:
    Bei meinem Beispiel
    [-HKEY_CURRENT_USER\Schlüssel\Unterschlüssel]@=
    ist das @= tatsächlich überflüssig um den Unterschlüssel zu löschen.

    Gruß Frank
     
  6. baspro

    baspro Byte

    Wo kann ich das in der Reg-Datei eintragen ???
     
  7. franzkat

    franzkat CD-R 80

    Delete\' findet normalerweise kein Umbruch statt.
     
  8. franzkat

    franzkat CD-R 80

    Hallo Frank !

    Ich denke, dass das @-Zeichen in der Syntax überflüssig ist und der jeweilige Zweig auch ohne dieses Zeichen gelöscht wird.Das @-Zeichen ist ja in der Registry gemeinhin das Symbol für den Standardwert.Wenn der Zweig weg ist, ist dessen Standardwert auch weg.
    Weniger bekannt ist, wie man einen einzelnen Wert löscht.Dabei gilt folgende Syntax :

    Regedit 4 //man beachte das schon oben zum Header Gesagte
    [Hkey_Local_Machine\MeinSchlüssel]
    "MeinWert"=- //Man beachte das abschließende Minus !

    Hierbei ist es egal , ob es sich bei "MeinWert" um eine Zeichenfolge, einen Binärwert oder einen DWORD-Wert handelt.Auch Groß-und Kleinschreibung spielt keine Rolle.

    franzkat
     
  9. rapmaster

    rapmaster Halbes Gigabyte

    mit Vb script geht leichter.
    aber trotzdem weiß ich nicht wie.
     
  10. Pedant

    Pedant Byte

    Noch ein paar Tipps:

    Wenn Du aus der linken Ansicht bei Regedit einen Schlüssel löschen möchtest, dann kannst Du in die Reg-Datei folgendes eintragen:
    [-HKEY_CURRENT_USER\Schlüssel\Unterschlüssel]@=
    Damit verschwindet der Eintrag "Unterschlüssel" und alles was er enthält.
    Dabei ist das - vorne wichtig und das @= am Ende
    Lösch Dir aber nicht zuviel weg :-)
    Wie Du aus der rechten Ansicht gezielt einen Schlüssel löschen kannst, weiß ich leider nicht.
    Alle Einträge rechts bekommst Du weg, wenn Du den übergeordneten Schlüssel links löschst und direkt wieder anlegst..
    Also so etwa:
    [-HKEY_CURRENT_USER\Schlüssel\Unterschlüssel]@=
    [HKEY_CURRENT_USER\Schlüssel\Unterschlüssel]
    @=

    Die Reg-Dateien brauchen eine Überschrift
    bei XP ist das
    Windows Registry Editor Version 5.00
    wenn Du statt dessen
    REGEDIT4
    als Überschrift benutzt, dann ist die Datei für XP und auch für ältere Systeme zu benutzen.
    Sonst gibt es bei älteren Systemen eine Fehlermeldung und die Datei wird nicht importiert.

    Falls Du weißt wie man aus der rechten Ansicht gezielt einen Schlüssel löschen kann, würde mich das sehr interessieren.

    Gruß Frank
     
  11. franzkat

    franzkat CD-R 80

    Erstelle Dir zunächst eine reg-Datei, die entweder die Daten für die Registry neu einliest oder sie löscht.Wenn Du dies erledigt hast ,kannst Du folgende Befehlszeile in eine Batch einbauen :
    regedit.exe /s meinpfad\meinereg.reg

    Der Parameter /s bedeutet silent,d.h. die Aktion wird ohne Nachfrage von regedit erledigt.

    franzkat
     
Thread Status:
Not open for further replies.

Share This Page