Diff, export, and sort Windows registry files.
regdelta [options] [key | file.reg] [key | file.reg]
Options:
-a | --all Compare/export all keys (HKCC HKCU HKCR HKLM HKU)
-x | --export key(s) ex.reg Export key(s) to ex.reg
-o | --output output.reg Set output filename to 'output.reg'
-c | --comments Include original values as comments in diff
-r | --regedit Export in RegEdit format (implies -u -w)
-u | --unsorted Do not sort the keys or values, as RegEdit
-w | --wordwrap Wordwrap at 78 chars, as RegEdit
-v | --verbose Show warnings that are normally hidden
-V | --version Show version & copyright information & quit
-? | --help Show this help message and quit
regdelta HKCU hkcu.reg ; compare HKCU key with hkcu.reg
regdelta HKCU\1 HKCU\2 ; compare HKCU\1 key with HKCU\2 key
regdelta -o diff.reg HKCU hkcu.reg ; compare HKCU key with hkcu.reg
regdelta -x HKCU hkcu.reg ; export HKCU key to hkcu.reg
regdelta -xr HKCU\Software ex.reg ; export HKCU to ex.reg in REGEDIT format
regdelta -ax allkeys.reg ; export all keys to allkeys.reg
regdelta.exe reads and writes ASCII .reg files (Windows 9x/NT 4)
regdeltau.exe reads and writes Unicode .reg files (Windows 2000/XP/2003)
'key' can be one of the following:
HKCC HKEY_CURRENT_CONFIG
HKCU HKEY_CURRENT_USER
HKCR HKEY_CLASSES_ROOT
HKLM HKEY_LOCAL_MACHINE
HKU HKEY_USERS
Reads entire registry into memory for performance, so this may be an issue in a low memory environment.
Compare currently only works on files created by regdelta. This will be fixed in a related release.
Add HKA | HKEY_ALL key
Options:
-e | --execute 'cmd' ex.reg Execute cmd & save differences to ex.reg
-s | --sort in.reg out.reg Sort in.reg to out.reg
Examples:
regdelta -s input.reg output.reg ; sort input.reg to output.reg
regdelta -e 'setup.exe /S' ex.reg ; run setup & save differences in ex.reg
To emulate the --execute option, I've used this batch script, called regdiff.cmd:
@echo off
del "%TEMP%\~regdiff_?.reg" >nul 2>nul
regdelta.exe -ax "%TEMP%\~regdiff_1.reg"
start /wait %*
regdelta.exe -ax "%TEMP%\~regdiff_2.reg"
regdelta.exe -o "%~1_redo.reg" "%TEMP%\~regdiff_1.reg" "%TEMP%\~regdiff_2.reg"
regdelta.exe -o "%~1_undo.reg" "%TEMP%\~regdiff_2.reg" "%TEMP%\~regdiff_1.reg"
del "%TEMP%\~regdiff_?.reg" >nul 2>nul
To verify a release, download the .zip, .sha256, and .asc files for the release (replacing regdelta-1.1-win32.zip with the release you are verifying):
$ wget https://github.com/rasa/regdelta/releases/download/v1.1/regdelta-1.1-win32.zip{,.sha256,.asc}
Next, check that sha256sum reports "OK":
$ sha256sum -c regdelta-1.1-win32.zip.sha256
regdelta-1.1-win32.zip: OK
Lastly, check that GPG reports "Good signature":
$ gpg --keyserver hkps.pool.sks-keyservers.net --recv-key 0x105a5225b6ab4b22
$ gpg --verify regdelta-1.1-win32.zip.asc regdelta-1.1-win32.zip
gpg: using RSA key 0xFF914F74B4BB6EF3
gpg: Good signature from "Ross Smith II <ross@smithii.com>" [ultimate]
...
To contribute to this project, please see CONTRIBUTING.md.
To view existing bugs, or report a new bug, please see issues.
To view the version history for this project, please see CHANGELOG.md.
This project is MIT licensed.
This project was created and is maintained by Ross Smith II
Feedback, suggestions, and enhancements are welcome.