Replacing registry default value from command line
I'm modifying an entry in the Windows registry. In the key there is a single value called (Default)
of type REG_SZ
. This value is not set.
I've tried using REG Add "HKEY_CURRENT_USER\SOFTWARE\Classes\.jpg" /f /v "(Default)" /t REG_SZ /d "PhotoViewer.FileAssoc.Tiff"
to change the data associated with (Default)
, but instead it creates a second (Default)
value underneath the original, like so:
How can I correctly replace this information without using a reg
file? I want to stick to the command line for the purposes of this project.
How can I correctly replace this information
REG Add "HKEY_CURRENT_USER\SOFTWARE\Classes\.jpg" /f /v "(Default)" /t REG_SZ /d "PhotoViewer.FileAssoc.Tiff"
Use the /ve
option (Set the (default) value) instead of /v
:
REG Add "HKEY_CURRENT_USER\SOFTWARE\Classes\.jpg" /ve /d "PhotoViewer.FileAssoc.Tiff" /f
Syntax
REG ADD [ROOT\]RegKey /ve [/d Data] [/f]
-- Set the (default) value
Source reg
Further Reading
- An A-Z Index of the Windows CMD command line - An excellent reference for all things Windows cmd line related.
- reg - Read, Set or Delete registry keys and values, save and restore from a .REG file.
Try using /ve
instead of /v
like this:
REG Add "HKEY_CURRENT_USER\SOFTWARE\Classes\.jpg" /f /ve /d "PhotoViewer.FileAssoc.Tiff"
Hint: /ve
adds an empty value name (Default) for the key.
So the correct Command-line would be:
REG Add "HKEY_CURRENT_USER\SOFTWARE\Classes\.jpg" /f /ve /t REG_SZ /d "PhotoViewer.FileAssoc.Tiff"
Or the shorter form.
REG Add "HKCU\SOFTWARE\Classes\.jpg" /f /ve /t REG_SZ /d "PhotoViewer.FileAssoc.Tiff"