Sign in to follow this  
Followers 0
Jer0en

Automated importing of multiple .reg-files

6 posts in this topic

Hi,

i've been working on my own unattended bootable installation-cd... and i was wondering if there was an easier way to import multiple .reg-files without having to specify each and every filename.

So i wrote this lil' batch, it tries to solve specified arguments to obtain a valid searchpath to be passed on to the search- & import-routine. You can specify root-directories (i.e. directories with a trailing backslash, like: C:\ or D:\Temp\), regular directories (i.e. directories without a trailing backslash, like: C:\Windows) and you can also specify a specific fully qualified filename/searchpath. - This batch can handle an unlimited amount of commandline parameters [unless there's a limiting factor within Windows i'm not aware of]. - Instead of regedit.exe i'm using a fairly unknown lil' program which doesn't mind any registry-editing restrictions: reg.exe -- and best of all: it's part of the Windows operating system, every Windows 2000 and XP has it. - It supports cmdow.exe, and most of it's commandline arguments. There are two restrictions however: 1) multi-parameter functions like /REN and /MOV and window/process-listings are not supported, and 2) supported functions are restricted to @ i.e. the window in which the batch is running.

I hope you'll enjoy it as much as i do :) If you find a way to improve on it, please send me a copy... e.g. i failed to filter-out directories and driveletters. (But then again, this shouldn't be much of a problem when good paths are provided.)

"type" cannot open a directory or a driveletter, however it does support wildcards... the ideal solution to filter-out these non-registry files... but it didn't work for me :(

type "%TMP_SEARCH_PATH%" > NUL
if NOT ERRORLEVEL 0 goto NEXT

"cd" cannot change directory to a filename, too bad i don't have a way to store the current working path -- because i don't want to lose it! (...i might need it later on.)

cd "%TMP_SEARCH_PATH%" > NUL
if ERRORLEVEL 0 goto NEXT

there's an alternative to the "cd"-solution which does allow me to check and keep my own working path, but it's an ugly solution because an error message doesn't get redirected to NUL:

%ComSpec% /c cd "%TMP_SEARCH_PATH%" > NUL
if ERRORLEVEL 0 goto NEXT

and the final alternative to the "cd"-solution didn't appear to work either:

start /MIN %ComSpec% /c cd "%TMP_SEARCH_PATH%" > NUL
if ERRORLEVEL 0 goto NEXT

P.S. i included a lil' program i wrote in 2002 which has about the same functionality as the ImportReg batch... the differences are: it's an executable (written in Delphi, source-code included) and it processes fonts and Active-X.

Well, try and enjoy my contributions! I'm off reïnstalling Windows now :)

ImportReg.rar

0

Share this post


Link to post
Share on other sites

I just us this to import multiple .reg files :)

for %%i in (%TWK_DIR%\*.reg) do REGEDIT /S %%i

0

Share this post


Link to post
Share on other sites

Instead of CD, use PUSHD to change to a directory, then POPD to return to your working folder.

PUSHD C:\Windows
...
POPD

0

Share this post


Link to post
Share on other sites
Instead of CD, use PUSHD to change to a directory, then POPD to return to your working folder.

PUSHD C:\Windows
...
POPD

Good advice :)

0

Share this post


Link to post
Share on other sites

This is the one I use, it does both inf and reg files, and recurses down the directory. I have the same install.cmd in each directory. I could probably make it better, but it does the trick.

@ECHO OFF
CMDOW @ /HID
TITLE Installing Reg Tweaks

SETLOCAL & PUSHD %~dp0
   FOR /D %%d IN (*) DO CMD.EXE /C %%d\install.cmd
   FOR %%I IN (*.REG) DO REGEDIT /s "%%I"
   FOR %%I IN (*.INF) DO RUNDLL32.EXE setupapi,InstallHinfSection DefaultInstall 128 %%~fnxI
POPD & ENDLOCAL
GOTO :EOF

0

Share this post


Link to post
Share on other sites

These are some cool tips, thanks guys :)

btw, a few days ago i discovered there is a environment variable called "%CD%" which holds the current directory...

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.