Convert .reg files to .bat files

Status
Not open for further replies.
How to Convert Registry Files to their Batch File Equivalents

This Tutorial is a work in progress and is closed for replies. After its completion, it will be opened for replies. In the meantime, if you have any suggestions or spot any glaring omissions/errors, please feel free to PM and/or VM me. Thankyou.

   Note
This tutorial will show you the basics of converting registry files so that you can run them as a batch file. This is particularly useful for those files which need administrative privileges to be merged into the registry.


   Information
The default behaviour of .reg files is to merge into the registry. However, the merge option only operates with the same privileges as the currently logged in user and, unlike running a program, this cannot be elevated to operate with administrative privileges. Basically, modifying registry keys in the HKCR and HKLM branches requires doing so from within an administrative account or from an equivalent batch file that is run with administrative privileges. This is because information there has a system-wide scope. The HKCU branch is different, and the data there can be modified from within a standard or an administrative account, since the information there pertains to the individual user and not the system as a whole.


The examples shown here are just that - they are to show conversion equivalents and are not designed to carry out any specific function.

All examples are located in the following key:

HKEY_CURRENT_USER\Test (.reg file) or HKCU\Test (.bat file)

Actual files will pertain to different sections of the registry, and the equivalent handles (roots) are as follows (.reg file > .bat file):

HKEY_CLASSES_ROOT > HKCR (administrative privileges required)
HKEY_CURRENT_USER > HKCU
HKEY_LOCAL_MACHINE > HKLM (administrative privileges required)
HKEY_USERS > HKU
HKEY_CURRENT_CONFIG > HKCC

The vast majority of registry edits will pertain to one or more of the first three roots listed above.

The primary commands used will be REG ADD and REG DELETE (see below for examples of the syntax).

Code:
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Windows\system32>reg add /?
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
  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
           ROOTKEY  [ HKLM | HKCU | HKCR | HKU | HKCC ]
           SubKey   The full name of a registry key under the selected ROOTKEY.
  /v       The value name, under the selected Key, to add.
  /ve      adds an empty value name (Default) for the key.
  /t       RegKey data types
           [ REG_SZ    | REG_MULTI_SZ | REG_EXPAND_SZ |
             REG_DWORD | REG_QWORD    | REG_BINARY    | REG_NONE ]
           If omitted, REG_SZ is assumed.
  /s       Specify one character that you use as the separator in your data
           string for REG_MULTI_SZ. If omitted, use "\0" as the separator.
  /d       The data to assign to the registry ValueName being added.
  /f       Force overwriting the existing registry entry without prompt.
Examples:
  REG ADD [URL="file://%5C%5CABC%5CHKLM%5CSoftware%5CMyCo"]\\ABC\HKLM\Software\MyCo[/URL]
    Adds a key HKLM\Software\MyCo on remote machine ABC
  REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
    Adds a value (name: Data, type: REG_BINARY, data: fe340ead)
  REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
    Adds a value (name: MRU, type: REG_MULTI_SZ, data: fax\0mail\0\0)
  REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d ^%systemroot^%
    Adds a value (name: Path, type: REG_EXPAND_SZ, data: %systemroot%)
    Notice:  Use the caret symbol ( ^ ) inside the expand string
C:\Windows\system32>
Code:
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Windows\system32>reg delete /?
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]
  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
    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 delete.
             When omitted, all subkeys and values under the Key are deleted.
  /ve        delete the value of empty value name (Default).
  /va        delete all values under this key.
  /f         Forces the deletion without prompt.
Examples:
  REG DELETE HKLM\Software\MyCo\MyApp\Timeout
    Deletes the registry key Timeout and its all subkeys and values
  REG DELETE [URL="file://%5C%5CZODIAC%5CHKLM%5CSoftware%5CMyCo"]\\ZODIAC\HKLM\Software\MyCo[/URL] /v MTU
    Deletes the registry value MTU under MyCo on ZODIAC
C:\Windows\system32>
Due to the length of this Tutorial, the actual examples will be in the following post.
 
Last edited by a moderator:
Now for the examples themselves. They will be displayed in the form of code boxes, with the .reg being shown first followed by the .bat equivalent and finally by how the entry actually appears in the Registry Editor.

This shows how to enter an empty value name (Default) for the key. Note that this CANNOT be deleted without deleting the parent key.

Code:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Test]
@=""

Code:
@ECHO OFF
REG ADD "HKCU\Test" /ve /f

Capture.PNG

This shows a Default variable with data.

Code:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Test]
@="Some data"

Code:
@ECHO OFF
REG ADD "HKCU\Test" /ve /t REG_SZ /d "Some data" /f

Capture1.PNG

This shows a DWORD (4 byte, 32-bit) variable and data.

Code:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Test]
"Variable"=dword:f09a0fa9

Code:
@ECHO OFF
REG ADD "HKCU\Test" /v "Variable" /t REG_DWORD /d "f09a0fa9" /f

Capture2.PNG

This shows a QWORD (8 byte, 64-bit) variable and data.

Code:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Test]
"Variable"=qword:fedcba9876543210

Code:
@ECHO OFF
REG ADD "HKCU\Test" /v "Variable" /t REG_QWORD /d "fedcba9876543210" /f

Capture3.PNG
 
Last edited:

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
Dwarf Dwf/11/2012 r09/2013
OS
Windows 8.1 Pro RTM x64
CPU
Intel Core-i5-3570K 4-core @ 3.4GHz (Ivy Bridge) (OC 4.4GHz)
Motherboard
ASRock Z77 Extreme4-M
Memory
4 x 4GB DDR3-1600 Corsair Vengeance CMZ8GX3M2A1600C9B (16GB)
Graphics Card(s)
MSI GeForce GTX770 Gaming OC 2GB
Sound Card
Realtek High Definition on board solution (ALC 898)
Monitor(s) Displays
ViewSonic VA1912w Widescreen (VGA)
Screen Resolution
1440x900
Hard Drives
OCZ Agility 3 SSD 120GB SATA III x2 (RAID 0)
Samsung HD501LJ 500GB SATA II x2
Hitachi HDS721010CLA332 1TB SATA II
Iomega 1.5TB Ext USB 2.0
WD 2.0TB Ext USB 3.0
PSU
XFX Pro Series 850W Semi-Modular
Case
Gigabyte IF233
Cooling
1 x 120mm Front Inlet 1 x 120mm Rear Exhaust
Keyboard
Microsoft Comfort Curve Keyboard 3000 (USB)
Mouse
Microsoft Comfort Mouse 3000 for Business (USB)
Internet Speed
NetGear DG834Gv3 ADSL Modem/Router (Ethernet) ~4.0 Mb/s (O2)
Antivirus
Avast! 8.0.1497
Browser
IE 11
Other Info
Optical Drive: HL-DT-ST BD-RE BH10LS30 SATA Bluray
Lexmark S305 Printer/Scanner/Copier (USB)
WEI Score: 8.1/8.1/8.5/8.5/8.25
Asus Eee PC 1011PX Netbook (Windows 7 x86 Starter)
Finally, let's take a look at some real-life cases. Again, these will show the .reg file first followed by its .bat equivalent.

http://www.sevenforums.com/tutorials/83441-priority-level-add-remove-set-context-menu.html

Code:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\exefile\shell\Run with Normal Priority]
@=""
[HKEY_CLASSES_ROOT\exefile\shell\Run with Normal Priority\Command]
@="cmd.exe /c start \"Run with Normal Priority\" /Normal \"%1\""

Code:
@ECHO OFF
REG ADD "HKCR\exefile\shell\Run with Above Normal Priority" /ve /f
REG ADD "HKCR\exefile\shell\Run with Above Normal Priority\Command" /ve /t REG_SZ /d "cmd.exe /c start \"Run with Above Normal Priority\" /AboveNormal \"%%1\"" /f

The "E-mail" command is missing or is unavailable in Excel 2007, in PowerPoint 2007, or in Word 2007

Code:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem]
"MAPI"="1"
"CMC"="1"
"CMCDLLNAME"="Mapi.dll"
"CMCDLLNAME32"="Mapi32.dll"
"MAPIX"="1"
"MAPIXVER"="1.0.0.1"
"OLEMessaging"="1"

Code:
@ECHO OFF
REG ADD "HKLM\SOFTWARE\Microsoft\Windows Messaging Subsystem" /v MAPI /t REG_SZ /d 1 /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows Messaging Subsystem" /v CMC /t REG_SZ /d 1 /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows Messaging Subsystem" /v CMCDLLNAME t/ REG_SZ /d Mapi.dll /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows Messaging Subsystem" /v CMCDLLNAME32 /t REG_SZ /d Mapi32.dll /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows Messaging Subsystem" /v MAPIX /t REG_SZ /d 1 /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows Messaging Subsystem" /v MAPIXVER /t REG_SZ /d 1.0.0.1 /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows Messaging Subsystem" /v OLEMessaging /t REG_SZ /d 1 /f

http://www.sevenforums.com/sound-audio/80709-realtek-equalizer-settings.html

Code:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{[COLOR=red]29ec048a[/COLOR]-[COLOR=red]cb02[/COLOR]-[COLOR=red]4173[/COLOR]-[COLOR=red]8d20[/COLOR]-[COLOR=red]bae131a470b9[/COLOR]}\FxProperties]
"{69203b66-c559-499c-bb5f-f54563cd7d59},n"="<user preset name n>"
"{36033203-cbc4-4960-9b48-490166ca34c9},n"=hex:[COLOR=red]41[/COLOR],[COLOR=red]00[/COLOR],[COLOR=red]7f[/COLOR],[COLOR=red]fb[/COLOR],[COLOR=red]01[/COLOR],[COLOR=red]00[/COLOR],[COLOR=red]00[/COLOR],[COLOR=red]00[/COLOR],00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{[COLOR=red]b69efb25[/COLOR]-[COLOR=red]5ac5[/COLOR]-[COLOR=red]4f32[/COLOR]-[COLOR=red]819e[/COLOR]-[COLOR=red]efbc8ba37d42[/COLOR]}\FxProperties]
"{69203b66-c559-499c-bb5f-f54563cd7d59},n"="<user preset name n>"
"{36033203-cbc4-4960-9b48-490166ca34c9},n"=hex:[COLOR=red]41[/COLOR],[COLOR=red]00[/COLOR],[COLOR=red]7f[/COLOR],[COLOR=red]fb[/COLOR],[COLOR=red]01[/COLOR],[COLOR=red]00[/COLOR],[COLOR=red]00[/COLOR],[COLOR=red]00[/COLOR],00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00

Code:
@ECHO OFF
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{[COLOR=red]29ec048a-cb02-4173-8d20-bae131a470b9[/COLOR]}\FxProperties" /v "{69203b66-c559-499c-bb5f-f54563cd7d59},n" /t REG_SZ /d "<user preset name n>" /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{[COLOR=red]29ec048a-cb02-4173-8d20-bae131a470b9[/COLOR]}\FxProperties" /v "{36033203-cbc4-4960-9b48-490166ca34c9},n" /t REG_BINARY /d "[COLOR=red]41007ffb01000000[/COLOR]00000000000000000000000000000000000000000000000000000000000000000000000000000000" /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{[COLOR=red]b69efb25-5ac5-4f32-819e-efbc8ba37d42[/COLOR]}\FxProperties" /v "{69203b66-c559-499c-bb5f-f54563cd7d59},n" /t REG_SZ /d "<user preset name n>" /f
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{[COLOR=red]b69efb25-5ac5-4f32-819e-efbc8ba37d42[/COLOR]}\FxProperties" /v "{36033203-cbc4-4960-9b48-490166ca34c9},n" /t REG_BINARY /d "[COLOR=red]41007ffb01000000[/COLOR]00000000000000000000000000000000000000000000000000000000000000000000000000000000" /f
 
Last edited:

My Computer

Computer type
PC/Desktop
Computer Manufacturer/Model Number
Dwarf Dwf/11/2012 r09/2013
OS
Windows 8.1 Pro RTM x64
CPU
Intel Core-i5-3570K 4-core @ 3.4GHz (Ivy Bridge) (OC 4.4GHz)
Motherboard
ASRock Z77 Extreme4-M
Memory
4 x 4GB DDR3-1600 Corsair Vengeance CMZ8GX3M2A1600C9B (16GB)
Graphics Card(s)
MSI GeForce GTX770 Gaming OC 2GB
Sound Card
Realtek High Definition on board solution (ALC 898)
Monitor(s) Displays
ViewSonic VA1912w Widescreen (VGA)
Screen Resolution
1440x900
Hard Drives
OCZ Agility 3 SSD 120GB SATA III x2 (RAID 0)
Samsung HD501LJ 500GB SATA II x2
Hitachi HDS721010CLA332 1TB SATA II
Iomega 1.5TB Ext USB 2.0
WD 2.0TB Ext USB 3.0
PSU
XFX Pro Series 850W Semi-Modular
Case
Gigabyte IF233
Cooling
1 x 120mm Front Inlet 1 x 120mm Rear Exhaust
Keyboard
Microsoft Comfort Curve Keyboard 3000 (USB)
Mouse
Microsoft Comfort Mouse 3000 for Business (USB)
Internet Speed
NetGear DG834Gv3 ADSL Modem/Router (Ethernet) ~4.0 Mb/s (O2)
Antivirus
Avast! 8.0.1497
Browser
IE 11
Other Info
Optical Drive: HL-DT-ST BD-RE BH10LS30 SATA Bluray
Lexmark S305 Printer/Scanner/Copier (USB)
WEI Score: 8.1/8.1/8.5/8.5/8.25
Asus Eee PC 1011PX Netbook (Windows 7 x86 Starter)
Status
Not open for further replies.
Back
Top