Jer0en Posted September 18, 2004 Share Posted September 18, 2004 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%" > NULif 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%" > NULif ERRORLEVEL 0 goto NEXTthere'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%" > NULif ERRORLEVEL 0 goto NEXTand the final alternative to the "cd"-solution didn't appear to work either:start /MIN %ComSpec% /c cd "%TMP_SEARCH_PATH%" > NULif ERRORLEVEL 0 goto NEXTP.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 Link to comment Share on other sites More sharing options...
edg21 Posted September 18, 2004 Share Posted September 18, 2004 I just us this to import multiple .reg files for %%i in (%TWK_DIR%\*.reg) do REGEDIT /S %%i Link to comment Share on other sites More sharing options...
Dahi Posted September 19, 2004 Share Posted September 19, 2004 Instead of CD, use PUSHD to change to a directory, then POPD to return to your working folder.PUSHD C:\Windows...POPD Link to comment Share on other sites More sharing options...
edg21 Posted September 19, 2004 Share Posted September 19, 2004 Instead of CD, use PUSHD to change to a directory, then POPD to return to your working folder.PUSHD C:\Windows...POPDGood advice Link to comment Share on other sites More sharing options...
sleepnmojo Posted September 19, 2004 Share Posted September 19, 2004 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 OFFCMDOW @ /HIDTITLE Installing Reg TweaksSETLOCAL & 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 %%~fnxIPOPD & ENDLOCALGOTO :EOF Link to comment Share on other sites More sharing options...
Jer0en Posted September 29, 2004 Author Share Posted September 29, 2004 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... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now