Announcement

Collapse
No announcement yet.

Registry Wertinhalt eines Schlüssels löschen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Registry Wertinhalt eines Schlüssels löschen

    Hallo,

    habe ein kleines Problem.

    Ich möchte von einem Registry-Wert den Inhalt per .bat Datei löschen (bezüglich eines SQL Installationsproblem)

    Habe schon gegoogelt ;-) Funzt aber iwi nicht richtig.

    Mit folgendem Code wird mir der gesamte test Wert gelöscht, möchte aber nur den Inhalt löschen.
    Code:
    @echo off
    reg delete HKLM\SYSTEM\CurrentControlSet\Control\test /v test
    pause
    Laut Windows im CMD "reg delete /?" müsste ich es so machen

    Code:
    @echo off
    reg delete HKLM\SYSTEM\CurrentControlSet\Control\test /va test
    pause
    Jedoch kommt hier ein Syntaxfehler. Kann mir hier einer bitte weiterhelfen?

    Achja.. verwende MS Windows 7.

    Danke schonmal!

    LG C#_Kain

  • #2
    Setz doch den Wert einfach leer. Ich glaube nicht dass Du da was löschen musst. Es wird ja schließlich nichts gelöscht, sondern nur der Inhalt wieder auf leer gesetzt. Ähnlich eine null reference in Programmiersprachen Die Variable ist noch da, deren Wert ist allerdings null/leer.

    Das hier sieht doch gar net schlecht aus:

    http://www.rgagnon.com/gp/gp-0005.html

    damit kann man ganz normale .reg files schreiben und die per Batch silent ausführen.

    Comment


    • #3
      Sowas in die Richtung habe ich auch schon gefunden. Aber ich will ja nur ne einfache batch Datei haben, da sonst die User immer beide Files kopieren müssten (bzw. entpacken).

      Und wenns anscheinend eh schon so "einfach" in einer Batch-Datei geht, dann müsste es doch iwi gehen.?.

      Falls ich nichts finde bzw sonst niemand ne Lösung hat, muss ichs wohl mit ner reg-Datei machen ;-)

      Comment


      • #4
        ok, hab grad noch was rausgefunden. Hab wohl was falsch verstanden..

        Das mit dem /va muss wie folgt eingegeben werden und er löscht mir nicht den Inhalt des Wertes sondern alle Werte des Schlüssels.
        Code:
        @echo off
        reg delete HKLM\SYSTEM\CurrentControlSet\Control\test /va
        pause

        Comment


        • #5
          ok.. hat sich erledigt.
          Habs wie folgt gemacht.

          Code:
          @echo off
          echo Windows Registry Editor Version 5.00 > %TEMP%test.reg
          echo. >> %TEMP%test.reg
          echo ;Classic search, full path in title bar and address bar. >> %TEMP%test.reg
          echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager] >> %TEMP%test.reg
          echo "PendingFileRenameOperations"=hex(7):00,00 >> %TEMP%test.reg
          echo. >> %TEMP%test.reg
          regedit /s %TEMP%test.reg
          del %TEMP%test.reg
          Somit wird der Inhalt einfach mit leer überschrieben.

          Comment


          • #6
            Jup geht auch danke fürs posten der Lösung!

            Comment


            • #7
              Ach ja, wer den Code verwenden will, darf ruhig.

              Die Batch Datei ist dazu da, um bei der Installation von SQL-Server (2008) die Fehlermeldung "Computer neustarten" zu entfernen. Dann kann SQL-Server problemlos installiert werden.

              Dazu wird in der Registry der Inhalt eines Wertes gelöscht, den MS Windows beim Neustart wieder automatisch anlegt.

              Im Anhang noch die BAT-Datei als TXT-File. Die Endung einfach auf .bat abändern und starten.

              Es wird nicht nach einer Bestätigung gefragt sondern einfach durchgeführt (da ich diese Bestätigung in diesem Fall als nervig empfinde).
              Attached Files

              Comment


              • #8
                Super Danke!!!

                Comment

                Working...
                X