Comment modifier une valeur de clé de registre existante depuis cmd ?
Il existe beaucoup d’options et de commutateurs, de fioritures, pour la commande Reg. Il y a des options pour interroger, ajouter et supprimer des clés, sous-clés et noms de valeurs. Mais comment modifier les données d’un nom de valeur existant ? Faut-il complètement supprimer le nom de valeur, puis l’ajouter à nouveau et retaper les données modifiées ? Cela semble très fastidieux…
Je ne suis pas intéressé par l’automatisation via script/batch, du moins pas maintenant, je veux juste une simple modification du registre via la commande Reg de cmd. Sans avoir besoin de détruire une clé juste pour l’ajouter une seconde plus tard avec des données supplémentaires. Le même type d’opération que vous pouvez faire dans Regedit.
Voici un exemple pour stimuler la réflexion.
Key: HKEY_CURRENT_USER\Software\Citrix\Receiver
Value type: reg_sz
Value name: UpgradeDone
Value data: true
Maintenant celui-ci est très bien, mais que faire si je dois changer les données de la valeur de “true” à “false”. Pour obtenir ceci à la place :
Key: HKEY_CURRENT_USER\Software\Citrix\Receiver
Value type: reg_sz
Value name: UpgradeDone
Value data: false
Quelles sont les options et la syntaxe pour faire cela depuis cmd ?..
Mise à jour :
Je viens de réaliser que l’exemple ci-dessus était peut-être trop facile…
Dans l’exemple ci-dessus, je peux simplement faire :
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
Je peux me permettre de supprimer complètement la valeur, puis de l’ajouter à nouveau, car les données qu’elle contient sont très petites. C’est juste une chaîne comme “true” ou “false”. Ce n’est pas trop difficile à recréer.
Voici un exemple plus difficile avec plus de contenu de données :
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++
Je veux supprimer seulement des parties du contenu des données. Plus précisément, je veux seulement supprimer le dernier chemin de recherche, le C:\Program Files (x86)\Notepad++.
Comment aborder celui-ci ??..
Vous ne vous attendez quand même pas à ce que je retape tout cela ??..