Est-il possible de modifier une entrée de registre via un.bat/.cmd script?

est-il possible de modifier une valeur de registre (qu'il s'agisse d'une chaîne ou D'un DWORD) via a.chauve./cmd script?

44
demandé sur Ross Ridge 2008-09-25 01:52:10

8 réponses

Vous pouvez utiliser la commande REG. À partir de http://www.ss64.com/nt/reg.html:

Syntax:

   REG QUERY [ROOT\]RegKey /v ValueName [/s]
   REG QUERY [ROOT\]RegKey /ve  --This returns the (default) value

   REG ADD [ROOT\]RegKey /v ValueName [/t DataType] [/S Separator] [/d Data] [/f]
   REG ADD [ROOT\]RegKey /ve [/d Data] [/f]  -- Set the (default) value

   REG DELETE [ROOT\]RegKey /v ValueName [/f]
   REG DELETE [ROOT\]RegKey /ve [/f]  -- Remove the (default) value
   REG DELETE [ROOT\]RegKey /va [/f]  -- Delete all values under this key

   REG COPY  [\SourceMachine\][ROOT\]RegKey [\DestMachine\][ROOT\]RegKey

   REG EXPORT [ROOT\]RegKey FileName.reg
   REG IMPORT FileName.reg
   REG SAVE [ROOT\]RegKey FileName.hiv
   REG RESTORE \MachineName\[ROOT]\KeyName FileName.hiv

   REG LOAD FileName KeyName
   REG UNLOAD KeyName

   REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/v ValueName] [Output] [/s]
   REG COMPARE [ROOT\]RegKey [ROOT\]RegKey [/ve] [Output] [/s]

Key:
   ROOT :
         HKLM = HKey_Local_machine (default)
         HKCU = HKey_current_user
         HKU  = HKey_users
         HKCR = HKey_classes_root

   ValueName : The value, under the selected RegKey, to edit.
               (default is all keys and values)

   /d Data   : The actual data to store as a "String", integer etc

   /f        : Force an update without prompting "Value exists, overwrite Y/N"

   \Machine : Name of remote machine - omitting defaults to current machine.
                Only HKLM and HKU are available on remote machines.

   FileName  : The filename to save or restore a registry hive.

   KeyName   : A key name to load a hive file into. (Creating a new key)

   /S        : Query all subkeys and values.

   /S Separator : Character to use as the separator in REG_MULTI_SZ values
                  the default is "" 

   /t DataType  : REG_SZ (default) | REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ

   Output    : /od (only differences) /os (only matches) /oa (all) /on (no output)
39
répondu Rui Vieira 2013-02-25 18:49:27

@Franci Penov - modifier possible dans le sens de remplacer/f, par exemple

reg add "HKCU\Software\etc\etc" /f /v "value" /t REG_SZ /d "Yes"
94
répondu nray 2015-01-15 03:58:40

Oui, vous pouvez créer un script à l'aide de la reg la commande. Exemple:

reg add HKCU\Software\SomeProduct
reg add HKCU\Software\SomeProduct /v Version /t REG_SZ /d v2.4.6

Ce serait de créer la clé HKEY_CURRENT_USER\Software\SomeProduct, et d'ajouter une valeur de Chaîne "v2.4.6" nommé "Version" de cette clé.

reg /? a les détails.

25
répondu Factor Mystic 2008-09-24 21:54:50

C'est comment vous pouvez modifier le registre, sans oui ou non l'invite et n'oubliez pas d'exécuter en tant qu'administrateur

reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\etc\etc   /v Valuename /t REG_SZ /d valuedata  /f 

ci-Dessous est un exemple réel pour définir internet explorer comme navigateur par défaut

reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice   /v ProgId /t REG_SZ /d IE.HTTPS  /f 

/ F Force: Force une mise à jour sans demander "valeur existe, overwrite Y / N"

/d Données : Les données à stocker sous la forme d'une "Chaîne", entier etc

/v Valeur : le nom de La valeur par exemple ProgId

/ t Type de données : REG_SZ (par défaut) / REG_DWORD | REG_EXPAND_SZ | REG_MULTI_SZ

en savoir plus sur Lire, définir ou supprimer les clés et les valeurs de registre, enregistrer et restaurer à partir d'un .Le fichier REG. à partir de ici

7
répondu Shersha Fn 2016-05-29 15:57:55

Vous pouvez faire une .fichier reg et l'appel sur. Vous pouvez exporter n'importe quelle partie du Registre comme A.reg fichier pour voir ce qu'est le format.

Format:

http://support.microsoft.com/kb/310516

cela peut être exécuté sur N'importe quelle machine Windows sans installer d'autres logiciels.

4
répondu Lou Franco 2008-09-24 21:54:32

Oui. Vous pouvez utiliser reg.exe qui est livré avec le système D'exploitation pour ajouter, supprimer ou interroger les valeurs du registre. Reg.exe n'a pas de commande de modification explicite, mais vous pouvez le faire en faisant supprimer puis Ajouter.

1
répondu Franci Penov 2008-09-24 21:56:03

en plus du Règl.exe, je vous recommande vivement de vérifier aussi powershell, son bien plus capable dans sa gestion de registre.

1
répondu Tim Jarvis 2008-09-24 22:23:39