I have the following code
@echo off
file.reg
pause
This works but when the batch file is elevated I get an error saying that it cannot find the file. does any one know what I am doing wrong.
Try this:
@echo off
rem set __COMPAT_LAYER=RunAsInvoker
REGEDIT.EXE /S "%~dp0file.reg"
pause
If you are accessing locations in the registry that does not require admin privileges you can use __COMPAT_LAYER
environment variable. Just execute this before using regedit
:
set __COMPAT_LAYER=RunAsInvoker
That will prevent UAC pop-up if your script is not ran as administrator.