Copier une branche du registre vers un autre emplacement

Existe-t-il un moyen simple sous Windows de copier une branche du registre vers une autre partie du registre ?

J’ai besoin de copier tout dans HKLM\SOFTWARE\Wow6432Node\Python vers HKCU\SOFTWARE\Wow6432Node\Python pour contourner un problème avec les installateurs Python, mais regedit ne semble pas offrir un moyen de copier une branche/dossier. Dans ce cas, je résoudrai probablement le problème en copiant chaque noeud à la main, puisqu’il n’y a pas grand-chose à faire, mais je suis intéressé par une solution propre et facile pour référence future.


Source : Super User,)

Vous pouvez utiliser la commande reg dans un terminal. Notez qu’un accès administrateur est requis pour exécuter cette commande. Pour ouvrir un terminal en tant qu’Administrateur :

  • Ouvrez la boîte de dialogue Exécuter.

  • Tapez powershell pour PowerShell, ou cmd pour l’Invite de commandes.

  • Appuyez sur Ctrl+Maj+Entrée.

La syntaxe de la commande reg est ci-dessous.

REG COPY KeyName1 KeyName2 [/s] [/f]

  KeyName    [\\Machine\]FullKey
    Machine  Name of remote machine - omitting defaults to the current machine.
             Only HKLM and HKU are available on remote machines.
    FullKey  ROOTKEY\SubKey
    ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   The full name of a registry key under the selected ROOTKEY.

  /s         Copies all subkeys and values.

  /f         Forces the copy without prompt.

Je l’ai utilisé pour copier des clés entre les zones 64 bits et 32 bits du registre. Par exemple :

reg copy HKLM\SOFTWARE\ODBC\ODBC.INI\dsname HKLM\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\dsname /s