Wie ändere ich einen vorhandenen Registrierungsschlüsselwert von cmd?
Es gibt viele Optionen und Schalter, Schnickschnack, für den Befehl Reg. Es gibt Optionen zum Abfragen, Hinzufügen und Löschen von Schlüsseln, Unterschlüsseln und Wertnamen. Aber wie ändern Sie die Daten eines vorhandenen Wertnamens? Entfernen Sie den Wertnamen vollständig und fügen Sie ihn dann erneut hinzu und geben Sie den geänderten Wert / die geänderten Daten erneut ein? Das scheint sehr umständlich ...
Ich bin an keiner Skript- / Stapelautomatisierung interessiert, zumindest nicht jetzt. Ich möchte nur eine einfache Bearbeitung der Registrierung über den Befehl cmd Reg. Ohne dass Sie einen Schlüssel zerstören müssen, um ihn eine Sekunde später mit einigen zusätzlichen Daten hinzuzufügen. Die gleiche Art von Operation, die Sie in Regedit ausführen können.
Hier ist ein Beispiel, mit dem Sie den Denkprozess vorantreiben können.
Key: HKEY_CURRENT_USER\Software\Citrix\Receiver
Value type: reg_sz
Value name: UpgradeDone
Value data: true
Jetzt ist dies in Ordnung, aber was ist, wenn ich die Wertedaten von "true" auf "false" ändern muss. Damit ich das stattdessen bekomme:
Key: HKEY_CURRENT_USER\Software\Citrix\Receiver
Value type: reg_sz
Value name: UpgradeDone
Value data: false
Was sind die Optionen und die Syntax, um das von cmd aus zu tun? ....
Aktualisieren:
Mir ist gerade klar geworden, dass das obige Beispiel einfach zu einfach gewesen sein könnte ...
Im obigen Beispiel kann ich einfach Folgendes tun:
reg delete HKEY_CURRENT_USER\Software\Citrix\Receiver /v UpgradeDone
reg add HKEY_CURRENT_USER\Software\Citrix\Receiver /v UpgradeDone /t Reg_Sz /d false
Ich kann es mir leisten, den Wert vollständig zu löschen und ihn dann erneut hinzuzufügen, da die darin enthaltenen Daten sehr klein sind. Es ist nur eine Zeichenfolge wie "wahr" oder "falsch". Das ist nicht allzu schwer nachzubauen.
Hier ist ein schwierigeres Beispiel mit mehr Dateninhalt:
Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
Value name: Path
Value type: Reg_Sz
Data: C:\Program Files (x86)\ImageMagick-6.8.5-Q16;C:\PROGRA~2\GTK2-R~1\bin;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;C:\Windows\System32\WindowsPowerShell\v1.0\;"C:\Program Files (x86)\WinHasher";C:\Program Files (x86)\Android\android-sdk\tools\;C:\Program Files (x86)\Android\android-sdk\platform-tools\;C:\Program Files (x86)\GTK2-Runtime\bin;C:\Program Files (x86)\MiKTeX 2.9\miktex\bin\;C:\Program Files (x86)\Common Files\Teleca Shared;C:\Program Files (x86)\Notepad++
Ich möchte nur Teile des Dateninhalts entfernen. Insbesondere möchte ich nur den letzten Suchpfad, C: \ Programme (x86) \ Notepad ++, entfernen.
Wie packst du das an ?? ...
Du erwartest nicht, dass ich das alles noch einmal tippe ?? ......
Antworten:
Verwenden Sie
REG ADD
mit dem Parameter "/ f", um das Überschreiben zu erzwingen.REG ADD /?
erklärt die Parameter.Verwenden Sie einen Befehl wie den folgenden, um einen neuen Wert einzufügen oder einen Zeichenfolgenwert von "false" in "true" umzuschalten:
Beispiel, das einen vorhandenen Wert liest und einen String anfügt, bevor er zurückgeschrieben wird:
Hinweis: In diesem Beispiel wird davon ausgegangen, dass der alte und der neue Wert keine Leerzeichen enthalten. Andernfalls muss man Anführungszeichen hinzufügen und den Parameter "Token" ändern. Zusätzliche Fehlerprüfung aus Gründen der Kürze weggelassen. Doch alle Code - Registry Manipulieren definitiv muss Prüfung ausreichend Fehler machen.
quelle
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment /v Path /d ;C:\Program Files (x86)\Some_software /f
, um;C:\Program Files (x86)\Some_software
an das Ende der Zeichenfolge anzuhängen ?reg add HKEY_CURRENT_USER\Software\Citrix\Receiver /v UpgradeDone /t Reg_Sz /d false
Wert Upgrade vorhanden, überschreiben (Ja / Nein)? Ohne die Option / f werden Sie gefragt, ob Sie überschreiben möchten.Sie können auch
REG import foo.reg
in demfoo.reg
wird , das eine Datei , die die üblichen Registrierungsinformationen , wie Sie aus exportieren würdenregedit.exe
.In Ihrem Beispiel wäre dies so etwas wie:
Weitere Informationen finden Sie in diesem Microsoft Technet-Artikel .
quelle