Regestryeinträge per Batch hinzufügen

Regestryeinträge und Windows Einstellungen per Batch hinzufügen

Hallo zusammen,

ich hoffe hier ist jemand der sich mit Batchdateien gut auskennt.
Ich würde sagen meine Batchkenntnisse sind sagen wir es mal so ich weiss mehr als wie Batch geschrieben wird, aber auch nicht viel mehr

Wenn ich beispielsweise einen Wert hinzufügen möchte sieht mein code wie folgt aus:
reg add „HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon“ /v test /t REG_DWORD /d 0 /f

und es funktioniert auch, der Wert wird angelegt.

Wo ich am scheitern bin, wie lege ich zuvor ein Verzeichnis in der registry an damit ich anschließend in diesem Verzeichnis den Wert anlege?

Der Ordner soll zB: User heißen…

Die zweite Frage die ich habe, da habe ich leider nicht mal ansatzweise wie das geht :-/
ich möchte das folgende Einstellung im Internet Explorer gesetzt wird:

Internetoptionen/Verbindungen/Lan-Einstellungen das Häkchen bei „automatische Suche der Einstellungen“ entfernt werden.

Über Feedback wäre ich echt dankbar :smile:

Hallo Grecho,

vom Windows Scipt Host weiß ich, dass mein einen \ an den Namen anhängen muss, wenn man ihn als Schlüssel in der Reg erzeugen will.
Ist aber nur ein Verdacht. Ich übernehme keine Verantwortung, wenn du dir deine Reg zerschießt.

Gruß, Andreas

Regestryeinträge und Windows Einstellungen per Batch
hinzufügen

Hallo zusammen,

ich hoffe hier ist jemand der sich mit Batchdateien gut
auskennt.
Ich würde sagen meine Batchkenntnisse sind sagen wir es mal so
ich weiss mehr als wie Batch geschrieben wird, aber auch nicht
viel mehr

Genau genommen hat das was Du machst ja auch mit Batch wenig zu tun, Du kämpfst mit der Aufrufsyntax des „reg“ Befehls, den Du genauso gut in die Kommandozeile tippen kannst.

Und da gäbe es dann den reg add /? der das Rätsel lösen würde, wenn /v, /t und /d nicht angegeben werden, wird der Schlüssel (so nennt sich ein „Verzeichnis“ in der Registry) erstellt.

reg add „HKCU\SOFTWARE\Test“
reg add „HKCU\SOFTWARE\Test“ /v testwert /t REG_DWORD /d 0 /f

Ich gebe den Anderen allerdings völlig recht: Batches sind äußerst primitive Vehikel und eigen sich nur für äußerst primitive Aufganemstellungen. Richtig sauber müsstest Du nämlich programmieren:

  • wenn der Schlüssel nicht existiert, erstelle den Schlüssel
  • wenn der Wert nicht existiert, erstelle ihn
  • setze den Wert auf null

Das problem: bei batches wie dieser steckt die ganze Intelligenz unveränderbar und uneinsehbar im externen „reg“ Kommando, und das kann allenfalls einen lächerlichen Fehlerstatus und/oder umgeleitete Bildschirmausgaben zurückgeben, das sind keine guten Aussichten für intelligenten Code und/oder ordentliches Fehlerhandling. Also wird man, wenn man den Code mehrfach lauen lässt, ab dem 2. Mal einen hässlichen Fehler bekommen dass der Key bereits existiert. Natürlich kann man ihn ignorieren, aber man sieht bereits wo das hinführt.

Ganz zu schweigen von den primitivsten Werkzeugen zur Fehlersuche (ein primitiver Debugger der Zeilen Steppen und Variablen anschauen kann) sowie ein einfacher Editor mit Befehlsreferenz und automatischer Code-Formatierung - alles nicht vorhanden bei Batches, daher ist die Fehlersuche eine echte Herausforderung, wenn die Programme komplizierter werden. und die Laufzeit längerer Programme ist sowieso jenseits jeder Diskussion. Und letztlich ist die Batch „Sprache“ auf Grund der vielen angestückelten Ergänungen, mit denen die Entwickler die gröbsten Schwächen ausbügeln wollten, zu einem absurd komplizierten und inkonsistenten Syntaxmonster gewuchert. Mir kommt es vor als ob jemand versuchen würde, eine Schweizer Uhr mit einem Eisenschlägel, einer Brechstange und einem Bolzenschneider zu reparieren.

Du bist mit irgendeiner „richtigen“ Programmiersprache, die nicht mal was kosten muss, 100 mal besser bedient.

Wenn Du mit Bordmitteln auskommen musst, heißen die ALternativen „Windows Script Host“ (WSH) (XP, Vista, W7) und „Powershell“ (Vista, W7). Erstere entspricht eher der ablauforientierten/batch ähnlichen Denkweise, zweitere lehnt sich eher an objektorientierte Konzepte an. Für beide gibt es free oder für wenige Euros Entwicklungsumgebungen mit vernünftigen Editoren und Debuggern, mir denen man auch größere Projekte stemmen kann.

Armin.

Vielen Dank für Eure Antworten.
Ihr habt mir sehr weitergeholfen, Problem 1 geklärt :smile:

Wie gehe ich aber Problem 2 an :-/