Jer0en Posted September 18, 2004 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
edg21 Posted September 18, 2004 Posted September 18, 2004 I just us this to import multiple .reg files for %%i in (%TWK_DIR%\*.reg) do REGEDIT /S %%i
Dahi Posted September 19, 2004 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
edg21 Posted September 19, 2004 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
sleepnmojo Posted September 19, 2004 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
Jer0en Posted September 29, 2004 Author 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...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now