REG ADD a REG_MULTI_SZ Multi-Line Registry Value

前端 未结 4 1969
你的背包
你的背包 2021-01-01 04:42

To add a REG_MULTI_SZ multi-line registry value, i can do

reg.exe ADD \"HKLM\\path\\to\\registry\\key\" /v RegistryValue /t REG_MULTI_SZ /d \"abc\\0def\\0\"
         


        
相关标签:
4条回答
  • 2021-01-01 04:57

    Try this:

    @reg.exe add "HKCU\Software\Wirkomatron" /v "MySoftware" /d "Software1"\0"Software2"\0"Software3"\0 /t REG_MULTI_SZ /f
    

    And now you can do it with Batch script propertly.

    0 讨论(0)
  • 2021-01-01 05:06

    This worked for me:

    REG ADD "HKLM\LOCATION" /v "Value" /t REG_MULTI_SZ /d item1\0item2 /f
    

    or if your items have whitespace:

    REG ADD "HKLM\LOCATION" /v "Value" /t REG_MULTI_SZ /d "item1"\0"item2" /f
    

    Make sure you don't have TWO trailing "\0" separators (one is OK, with or without the trailing \0 you will get your last return character) like the example below (like I saw in a TechNet article), or you will get an "ERROR: Invalid value specified for '/d'.":

    REG ADD "HKLM\LOCATION" /v "Value" /t REG_MULTI_SZ /d item1\0item2\0\0 /f
    
    0 讨论(0)
  • 2021-01-01 05:14

    Just for reference.

    If you just want to insert a new line then you will need to simulate it with a space in the desire empty line. If the space would have an undesired impact in what you are trying to achieve then this post is not useful for you.

    reg.exe ADD "HKLM\path\to\registry\key" /v RegistryValue /t REG_MULTI_SZ /d "abc\0 \0def\0"

    0 讨论(0)
  • 2021-01-01 05:15

    This probably isn't possible using reg add, because the data you're trying to set is improperly formed. REG_MULTI_SZ values are terminated by an empty string, so having an empty string as part of the value is not allowed.

    If you really need to, and on the understanding that some software won't be able to read the key correctly, you could use reg import instead. For example, the following file creates a value with an empty string in the middle:

    Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USER\software\harrytest]
    "test"=hex(7):76,00,61,00,6c,00,75,00,65,00,31,00,00,00,76,00,61,00,6c,00,75,\
      00,65,00,32,00,00,00,00,00,76,00,61,00,6c,00,75,00,65,00,34,00,00,00,76,00,\
      61,00,6c,00,75,00,65,00,35,00,00,00,00,00
    
    0 讨论(0)
提交回复
热议问题