REGTOOL(1) CYGWIN REGTOOL(1)NAME
- View or edit the Win32 registry
SYNOPSISregtool [OPTION] (add|check|get|list|remove|unset|load|unload|save) KEY
OPTIONS
Actions:
add KEY\SUBKEY
add new SUBKEY
check KEY
exit 0 if KEY exists, 1 if not
get KEY\VALUE
prints VALUE to stdout
list KEY
list SUBKEYs and VALUEs
remove KEY
remove KEY
set KEY\VALUE [data ...]
set VALUE
unset KEY\VALUE
removes VALUE from KEY
load KEY\SUBKEY PATH
load hive from PATH into new SUBKEY
unload KEY\SUBKEY
unload hive and remove SUBKEY
save KEY\SUBKEY PATH
save SUBKEY into new hive PATH
Options for 'list' Action:
-k, --keys
print only KEYs
-l, --list
print only VALUEs
-p, --postfix
like ls -p, appends '\' postfix to KEY names
Options for 'get' Action:
-b, --binary
print REG_BINARY data as hex bytes
-n, --none
print data as stream of bytes as stored in registry
-x, --hex
print numerical data as hex numbers
Options for 'set' Action:
-b, --binary
set type to REG_BINARY (hex args or '-')
-D, --dword-be
set type to REG_DWORD_BIG_ENDIAN
-e, --expand-string
set type to REG_EXPAND_SZ
-i, --integer
set type to REG_DWORD
-m, --multi-string
set type to REG_MULTI_SZ
-n, --none
set type to REG_NONE
-Q, --qword
set type to REG_QWORD
-s, --string
set type to REG_SZ
Options for 'set' and 'unset' Actions:
-K<c>, --key-separator[=]<c>
set key separator to <c> instead of '\'
Other Options:
-h, --help
output usage information and exit
-q, --quiet
no error output, just nonzero return if KEY/VALUE missing
-v, --verbose
verbose output, including VALUE contents when applicable
-w, --wow64
access 64 bit registry view (ignored on 32 bit Windows)
-W, --wow32
access 32 bit registry view (ignored on 32 bit Windows)
-V, --version
output version information and exit
KEY is in the format [host]\prefix\KEY\KEY\VALUE, where host is
optional remote host in either \\hostname or hostname: format and pre‐
fix is any of:
root HKCR HKEY_CLASSES_ROOT (local only)
config HKCC HKEY_CURRENT_CONFIG (local only)
user HKCU HKEY_CURRENT_USER (local only)
machine
HKLM HKEY_LOCAL_MACHINE
users HKU HKEY_USERS
You can use forward slash ('/') as a separator instead of backslash, in
that case backslash is treated as escape character Example: regtool.exe
get '\user\software\Microsoft\Clock\iFormat'
DESCRIPTION
The regtool program allows shell scripts to access and modify the Win‐
dows registry. Note that modifying the Windows registry is dangerous,
and carelessness here can result in an unusable system. Be careful.
The -v option means "verbose". For most commands, this causes addi‐
tional or lengthier messages to be printed. Conversely, the -q option
supresses error messages, so you can use the exit status of the program
to detect if a key exists or not (for example).
The -w option allows you to access the 64 bit view of the registry.
Several subkeys exist in a 32 bit and a 64 bit version when running on
Windows 64. Since Cygwin is running in 32 bit mode, it only has access
to the 32 bit view of these registry keys. When using the -w switch,
the 64 bit view is used and regtool can access the entire registry.
This option is simply ignored when running on 32 bit Windows versions.
The -W option allows you to access the 32 bit view on the registry.
The purpose of this option is mainly for symmetry. It permits creation
of OS agnostic scripts which would also work in a hypothetical 64 bit
version of Cygwin.
You must provide regtool with an action following options (if any).
Currently, the action must be add, set, check, get, list, remove,
set, or unset.
The add action adds a new key. The check action checks to see if a
key exists (the exit code of the program is zero if it does, nonzero
if it does not). The get action gets the value of a key, and prints it
(and nothing else) to stdout. Note: if the value doesn't exist, an
error message is printed and the program returns a non-zero exit code.
If you give -q, it doesn't print the message but does return the non-
zero exit code.
The list action lists the subkeys and values belonging to the given
key. With list, the -k option instructs regtool to print only KEYs,
and the -l option to print only VALUEs. The -p option postfixes a
'/' to each KEY, but leave VALUEs with no postfix. The remove action
removes a key. Note that you may need to remove everything in the key
before you may remove it, but don't rely on this stopping you from
accidentally removing too much.
The get action prints a value within a key. With the -b option, data
is printed as hex bytes. -n allows to print the data as a typeless
stream of bytes. Integer values (REG_DWORD, REG_QWORD) are usually
printed as decimal values. The -x option allows to print the numbers
as hexadecimal values.
The set action sets a value within a key. -b means it's binary data
(REG_BINARY). The binary values are specified as hex bytes in the argu‐
ment list. If the argument is '-', binary data is read from stdin
instead. -d or -i means the value is a 32 bit integer value
(REG_DWORD). -D means the value is a 32 bit integer value in Big Endian
representation (REG_DWORD_BIG_ENDIAN). -Q means the value is a 64 bit
integer value (REG_QWORD). -s means the value is a string (REG_SZ). -e
means it's an expanding string (REG_EXPAND_SZ) that contains embedded
environment variables. -m means it's a multi-string (REG_MULTI_SZ).
If you don't specify one of these, regtool tries to guess the type
based on the value you give. If it looks like a number, it's a DWORD,
unless it's value doesn't fit into 32 bit, in which case it's a QWORD.
If it starts with a percent, it's an expanding string. If you give
multiple values, it's a multi-string. Else, it's a regular string.
The unset action removes a value from a key.
The load action adds a new subkey and loads the contents of a registry
hive into it. The parent key must be HKEY_LOCAL_MACHINE or HKEY_USERS.
The unload action unloads the file and removes the subkey.
The save action saves a subkey into a registry hive.
By default, the last "\" or "/" is assumed to be the separator between
the key and the value. You can use the -K option to provide an
alternate key/value separator character.
COPYRIGHT
Cygwin is Copyright (C) 1995-2010 Red Hat, Inc.
Cygwin is Free software; for complete licensing information, refer to:
http://cygwin.com/licensing.html
SEE ALSO
The full documentation to the Cygwin API is maintained on the web at:
http://cygwin.com/cygwin-api/cygwin-api.html
The website is updated more frequently than the man pages and should be
considered the authoritative source of information.
April 2010 REGTOOL(1)