REG.EXE, built into Windows XP, Windows Server 2003, and later operating systems, or installed from the Windows 2000 Support Tools, has a COMPARE command.
When you type: REG COMPARE /?, you receive:
REG COMPARE KeyName1 KeyName2 \[/v ValueName | /ve\] \[Output\] \[/s\] KeyName \[\\Machine\\]FullKey Machine Name of remote machine - omitting defaults to the current machine Only HKLM and HKU are available on remote machines FullKey ROOTKEY\SubKey If FullKey2 is not specified, FullKey2 is the same as FullKey1 ROOTKEY \[ HKLM | HKCU | HKCR | HKU | HKCC \] SubKey The full name of a registry key under the selected ROOTKEY ValueName The value name, under the selected Key, to compare When omitted, all values under the Key are compared /ve compare the value of empty value name
/s Compare all subkeys and values Output \[/oa | /od | /os | /on\] When omitted, output only differences /oa Output all of differences and matches /od Output only differences /os Output only matches /on No output Return Code: 0 - Succussful, the result compared is identical 1 - Failed 2 - Successful, the result compared is different Examples: REG COMPARE HKLM\Software\MyCo\MyApp HKLM\Software\MyCo\SaveMyApp Compares all values under the key MyApp with SaveMyApp REG COMPARE HKLM\Software\MyCo HKLM\Software\MyCo1 /v Version Compares the value Version under the key MyCo and MyCo1 REG COMPARE \\ZODIAC\HKLM\Software\MyCo \\. /s Compares all subkeys and values under HKLM\Software\MyCo on ZODIAC with the same key on the current machine