Действительно ли возможно изменить ключ реестра с помощью .bat/.cmd сценария?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
45
задан Ross Ridge 10 January 2015 в 05:01
поделиться

7 ответов

Можно использовать команду REG. От 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 "\0" 

   /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)
38
ответ дан Dave Jarvis 26 November 2019 в 20:47
поделиться

@Franci, который Penov - изменяет , возможен в смысле перезапись с /f, например,

reg add "HKCU\Software\etc\etc" /f /v "value" /t REG_SZ /d "Yes"
101
ответ дан Mark Mayo 26 November 2019 в 20:47
поделиться

Да, можно написать сценарий использования эти reg команда. Пример:

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

Это создало бы ключ HKEY_CURRENT_USER\Software\SomeProduct и добавило бы, что Строка оценивает "v2.4.6" под названием "Версия" к тому ключу.

reg /? имеет детали.

26
ответ дан Factor Mystic 26 November 2019 в 20:47
поделиться

Можно сделать .reg файл, и вызов запускаются на нем. Можно экспортировать любую часть реестра как .reg файл для наблюдения, каков формат.

Формат здесь:

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

Это может быть выполнено на любой машине Windows, не устанавливая другое программное обеспечение.

4
ответ дан Lou Franco 26 November 2019 в 20:47
поделиться

Да. Можно использовать reg.exe, который идет с ОС, чтобы добавить, удалить или запросить значения реестра. Reg.exe не имеет явного, изменяют команду, но можно сделать это выполнением, удаляют и затем добавляют.

1
ответ дан Franci Penov 26 November 2019 в 20:47
поделиться

В дополнение к reg.exe я настоятельно рекомендую, чтобы Вы также проверили powershell, его значительно более способный в его обработке реестра.

1
ответ дан Tim Jarvis 26 November 2019 в 20:47
поделиться
-2
ответ дан schaelle 26 November 2019 в 20:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: