rkillcrazy Posted February 26, 2008 Posted February 26, 2008 Perhaps this query is a bit odd but maybe I'm not the only one....I have a multiboot DVD that was created with PowerPacker and it's set to run a batch file in the GuiRunOnce section of my WINNT.SIF file. The batch runs just fine but I have it set to stop and ask questions (via CHOICE.COM/EXE) that deal with version of the OS. Meaning... if I installed XP Home SP2 OEM, and I wanted to copy over the I386 directory, I have to have the batch file stop and ask me what version I installed. At that point I give my answer and it copies over the proper directory. Is there a way to script this by having something check to see what version of XP is installed? I'd settle for something that can tell between XP Home and XP Pro but if it can tell between XP Home SP2 OEM, XP Home SP2 Upgrade, XP Pro SP2-B OEM, XP Pro SP2-C OEM & XP Pro SP2 Upgrade, that would awesome! Let me know...Note: there's something in PowerPacker that can tell the difference between many of these versions. It may not be able to tell the difference between SP2-B or SP2-C but it knows the difference between Home, Pro, SP2, OEM, Upgrade, et cetera.02-26-081217 EST
rkillcrazy Posted March 28, 2008 Author Posted March 28, 2008 Perhaps this query is a bit odd but maybe I'm not the only one....I have a multiboot DVD that was created with PowerPacker and it's set to run a batch file in the GuiRunOnce section of my WINNT.SIF file. The batch runs just fine but I have it set to stop and ask questions (via CHOICE.COM/EXE) that deal with version of the OS. Meaning... if I installed XP Home SP2 OEM, and I wanted to copy over the I386 directory, I have to have the batch file stop and ask me what version I installed. At that point I give my answer and it copies over the proper directory. Is there a way to script this by having something check to see what version of XP is installed? I'd settle for something that can tell between XP Home and XP Pro but if it can tell between XP Home SP2 OEM, XP Home SP2 Upgrade, XP Pro SP2-B OEM, XP Pro SP2-C OEM & XP Pro SP2 Upgrade, that would awesome! Let me know...Note: there's something in PowerPacker that can tell the difference between many of these versions. It may not be able to tell the difference between SP2-B or SP2-C but it knows the difference between Home, Pro, SP2, OEM, Upgrade, et cetera.02-26-081217 ESTWell, since nobody had any ideas, I worked something out... I have a batch file that runs at about T-9 of the WinXP GUI setup. This is done via my WINNT.SIF in the [setupParams] section. The batch file it runs is below. It does a lot of stuff but the part I made to do the auto-detection is labeled :CMDCONS.Basically, it queries the registry and looks at the source-paths. Piping that info through a FIND command, I can seek out strings that match the folders on my multi-boot DVD. Then, using error codes, I can direct the script to do my bidding! B) @ECHO OFF::#############################################################::Revised: 16:32 03/28/2008::#############################################################::This will add a user account and password.::Then it will add them to the Administrator's group.::Then it will copy some data to the desktop. ::Then it will install the Recovery Console.::Then it will clean up the files used for this.::#############################################################:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::::This adds a user to the administrator's group.TITLE ADDING USERSECHO ADDING SOME USERS...net accounts /minpwlen:0net accounts /maxpwage:unlimitednet user Admin home3313 /addnet user User /addnet localgroup Administrators Admin /addnet localgroup Administrators User /addcls::This will hide the newly created account.REG ADD "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON\SPECIALACCOUNTS\USERLIST" /V ADMIN /T REG_DWORD /D 65536 /Fcls:::: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::::I have a bunch of goodies in a couple of 7-Zip files. Check it out once you reach the desktop!TITLE GETTING EXTRA DATAECHO DUMPING DATA TO THE DESKTOP. STAND BY...SETLOCAL::VARIABLES FOR THIS SECTIONFOR %%I IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%I:\STUFF.7Z SET DVDROM=%%I:SET SOURCE="\\63.243.104.66\data-80\DO-NOT-DELETE\MULTIBOOT\EXTRAS"SET DESTINATION="%ALLUSERSPROFILE%\DESKTOP"SET WHAT=/S /COPY:DSET OPTIONS=/R:2 /W:2:REPACKSECHO We can try to copy my repacks from a source that may be more up to date.ECHO The versions on this disk may be a month old or better.ECHO If anything goes wrong, the versions on the disk will be used.ECHO.CHOICE /C:YN /T:Y,45 Try to copy my repacks from a server that may be more up to date? IF ERRORLEVEL 2 GOTO UNZIPIF ERRORLEVEL 1 GOTO SERVER:SERVERTITLE PULLING DATA FROM FILE SERVERIF NOT EXIST %SOURCE% GOTO UNZIP_STUFFrobocopy %SOURCE%\STUFF %DESTINATION%\STUFF %WHAT% %OPTIONS%IF %ERRORLEVEL%==1 cls && GOTO UNZIP_UPDATES:UNZIP_STUFFTITLE EXTRACTING DATA%SYSTEMDRIVE%\un7zip.exe "%DVDROM%\STUFF.7Z" %DESTINATION%\STUFF:UNZIP_UPDATESTITLE EXTRACTING OFFLINE UPDATER%SYSTEMDRIVE%\un7zip.exe "%DVDROM%\OFFLINEUPDATER.7Z" %DESTINATION%\OFFLINEUPDATERECHO The folders on the desktop are full of various hotfixes and apps that are commonly used. > "%ALLUSERSPROFILE%\DESKTOP\INFO.TXT"ECHO Make sure all drivers were installed. >> "%ALLUSERSPROFILE%\DESKTOP\INFO.TXT"ECHO Once that's complete, you should activate this machine before proceeding with the material in these folders as several of these apps and updates require activation. >> "%ALLUSERSPROFILE%\DESKTOP\INFO.TXT"ENDLOCALcls:::: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :::CMDCONS::This will install the Recovery Console as a boot option.::We'll try to figure out what your OS is.::We'll need to set a variable here so we can run the install from the CD/DVD.TITLE RECOVERY CONSOLEREG QUERY HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SOURCEPATH | FIND /I "XPHO" > NULIF %ERRORLEVEL%==0 GOTO HOMEOEMREG QUERY HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SOURCEPATH | FIND /I "XPHU" > NULIF %ERRORLEVEL%==0 GOTO HOMEUPGREG QUERY HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SOURCEPATH | FIND /I "XPPB" > NULIF %ERRORLEVEL%==0 GOTO PROOEMBREG QUERY HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SOURCEPATH | FIND /I "XPPC" > NULIF %ERRORLEVEL%==0 GOTO PROOEMCREG QUERY HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SOURCEPATH | FIND /I "XPPU" > NULIF %ERRORLEVEL%==0 GOTO PROUPG::#############################################################:HOMEOEMSETLOCALFOR %%I IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%I:\ROOT\XPHO\I386\WINNT32.EXE SET DVDROM=%%I:ECHO YOU HAVE XP HOME SP2 (OEM)ECHO INSTALLING THE RECOVERY CONSOLE AS A BOOT OPTIONSTART /W %DVDROM%\ROOT\XPHO\I386\WINNT32.EXE /CMDCONS /UNATTENDcls::Some people like to have the I386 directory copied over.ECHO It may be a good idea to copy the I386 directory for later use.ECHO Changing the sourcepath afterwards is also a good idea.ECHO I'll do both for you if you wish.ECHO.CHOICE /C:YN /T:Y,45 Would you like to copy the I386 Directory? IF ERRORLEVEL 2 GOTO NO_HOMEOEM_I386IF ERRORLEVEL 1 GOTO YES_HOMEOEM_I386:YES_HOMEOEM_I386TITLE COPYING THE I386 DIRECTORYECHO IF THIS IS WHAT YOU WANTED, GREAT!ECHO IF NOT, YOU WERE TOO SLOW!ECHO YOU CAN ALWAYS DELETE THE DIRECTORY FROM THE ROOT OF %SYSTEMDRIVE% LATER.ROBOCOPY %DVDROM%\ROOT\XPHO\I386 %SYSTEMDRIVE%\I386 /MIR /R:2 /W:2ECHO CHANGING THE SOURCEPATHREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V ServicePackSourcePath /T REG_SZ /D C:\ /FREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SourcePath /T REG_SZ /D C:\ /FREG ADD "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENT VERSION" /V SourcePath /T REG_SZ /D C:\I386 /F:NO_HOMEOEM_I386ENDLOCALGOTO TIMEOUT::#############################################################:HOMEUPGFOR %%I IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%I:\ROOT\XPHU\I386\WINNT32.EXE SET DVDROM=%%I:ECHO YOU HAVE XP HOME SP2 (UPGRADE)ECHO INSTALLING THE RECOVERY CONSOLE AS A BOOT OPTIONSTART /W %DVDROM%\ROOT\XPHU\I386\WINNT32.EXE /CMDCONS /UNATTENDcls::Some people like to have the I386 directory copied over.ECHO It may be a good idea to copy the I386 directory for later use.ECHO Changing the sourcepath afterwards is also a good idea.ECHO I'll do both for you if you wish.ECHO.CHOICE /C:YN /T:Y,45 Would you like to copy the I386 Directory? IF ERRORLEVEL 2 GOTO NO_HOMEUPG_I386IF ERRORLEVEL 1 GOTO YES_HOMEUPG_I386:YES_HOMEUPG_I386TITLE COPYING THE I386 DIRECTORYECHO IF THIS IS WHAT YOU WANTED, GREAT!ECHO IF NOT, YOU WERE TOO SLOW!ECHO YOU CAN ALWAYS DELETE THE DIRECTORY FROM THE ROOT OF %SYSTEMDRIVE% LATER.ROBOCOPY %DVDROM%\ROOT\XPHU\I386 %SYSTEMDRIVE%\I386 /MIR /R:2 /W:2ECHO CHANGING THE SOURCEPATHREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V ServicePackSourcePath /T REG_SZ /D C:\ /FREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SourcePath /T REG_SZ /D C:\ /FREG ADD "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENT VERSION" /V SourcePath /T REG_SZ /D C:\I386 /F:NO_HOMEUPG_I386ENDLOCALGOTO TIMEOUT::#############################################################:PROOEMBFOR %%I IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%I:\ROOT\XPPB\I386\WINNT32.EXE SET DVDROM=%%I:ECHO YOU HAVE XP PRO SP2-B (OEM)ECHO INSTALLING THE RECOVERY CONSOLE AS A BOOT OPTIONSTART /W %DVDROM%\ROOT\XPPB\I386\WINNT32.EXE /CMDCONS /UNATTENDcls::Some people like to have the I386 directory copied over.ECHO It may be a good idea to copy the I386 directory for later use.ECHO Changing the sourcepath afterwards is also a good idea.ECHO I'll do both for you if you wish.ECHO.CHOICE /C:YN /T:Y,45 Would you like to copy the I386 directory? IF ERRORLEVEL 2 GOTO NO_PROOEMB_I386IF ERRORLEVEL 1 GOTO YES_PROOEMB_I386:YES_PROOEMB_I386TITLE COPYING THE I386 DIRECTORYECHO IF THIS IS WHAT YOU WANTED, GREAT!ECHO IF NOT, YOU WERE TOO SLOW!ECHO YOU CAN ALWAYS DELETE THE DIRECTORY FROM THE ROOT OF %SYSTEMDRIVE% LATER.ROBOCOPY %DVDROM%\ROOT\XPPB\I386 %SYSTEMDRIVE%\I386 /MIR /R:2 /W:2ECHO CHANGING THE SOURCEPATHREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V ServicePackSourcePath /T REG_SZ /D C:\ /FREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SourcePath /T REG_SZ /D C:\ /FREG ADD "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENT VERSION" /V SourcePath /T REG_SZ /D C:\I386 /F:NO_PROOEMB_I386ENDLOCALGOTO TIMEOUT::#############################################################:PROOEMCFOR %%I IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%I:\ROOT\XPPC\I386\WINNT32.EXE SET DVDROM=%%I:ECHO YOU HAVE XP PRO SP2-C (OEM)ECHO INSTALLING THE RECOVERY CONSOLE AS A BOOT OPTIONSTART /W %DVDROM%\ROOT\XPPC\I386\WINNT32.EXE /CMDCONS /UNATTENDcls::Some people like to have the I386 directory copied over.ECHO It may be a good idea to copy the I386 directory for later use.ECHO Changing the sourcepath afterwards is also a good idea.ECHO I'll do both for you if you wish.ECHO.CHOICE /C:YN /T:Y,45 Would you like to copy the I386 Directory? IF ERRORLEVEL 2 GOTO NO_PROOEMC_I386IF ERRORLEVEL 1 GOTO YES_PROOEMC_I386:YES_PROOEMC_I386TITLE COPYING THE I386 DIRECTORYECHO IF THIS IS WHAT YOU WANTED, GREAT!ECHO IF NOT, YOU WERE TOO SLOW!ECHO YOU CAN ALWAYS DELETE THE DIRECTORY FROM THE ROOT OF %SYSTEMDRIVE% LATER.ROBOCOPY %DVDROM%\ROOT\XPPC\I386 %SYSTEMDRIVE%\I386 /MIR /R:2 /W:2ECHO CHANGING THE SOURCEPATHREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V ServicePackSourcePath /T REG_SZ /D C:\ /FREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SourcePath /T REG_SZ /D C:\ /FREG ADD "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENT VERSION" /V SourcePath /T REG_SZ /D C:\I386 /F:NO_PROOEMC_I386ENDLOCALGOTO TIMEOUT::#############################################################:PROUPGFOR %%I IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%I:\ROOT\XPPU\I386\WINNT32.EXE SET DVDROM=%%I:ECHO YOU HAVE XP PRO SP2 (UPGRADE)ECHO INSTALLING THE RECOVERY CONSOLE AS A BOOT OPTIONSTART /W %DVDROM%\ROOT\XPPU\I386\WINNT32.EXE /CMDCONS /UNATTENDcls::Some people like to have the I386 directory copied over.ECHO It may be a good idea to copy the I386 directory for later use.ECHO Changing the sourcepath afterwards is also a good idea.ECHO I'll do both for you if you wish.ECHO.CHOICE /C:YN /T:Y,45 Would you like to copy the I386 Directory? IF ERRORLEVEL 2 GOTO NO_PROUPG_I386IF ERRORLEVEL 1 GOTO YES_PROUPG_I386:YES_PROUPG_I386TITLE COPYING THE I386 DIRECTORYECHO IF THIS IS WHAT YOU WANTED, GREAT!ECHO IF NOT, YOU WERE TOO SLOW!ECHO YOU CAN ALWAYS DELETE THE DIRECTORY FROM THE ROOT OF %SYSTEMDRIVE% LATER.ROBOCOPY %DVDROM%\ROOT\XPPU\I386 %SYSTEMDRIVE%\I386 /MIR /R:2 /W:2ECHO CHANGING THE SOURCEPATHREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V ServicePackSourcePath /T REG_SZ /D C:\ /FREG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SETUP /V SourcePath /T REG_SZ /D C:\ /FREG ADD "HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENT VERSION" /V SourcePath /T REG_SZ /D C:\I386 /F:NO_PROUPG_I386ENDLOCALGOTO TIMEOUT:::: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :::TIMEOUTclsTITLE TWEAKING BOOT TIMERBOOTCFG /TIMEOUT 05GOTO CLEANUP:::: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :::CLEANUPcls:: Cleans up a few things.ECHO @ECHO OFF > "%SYSTEMDRIVE%\FINISH.CMD"ECHO TITLE CLEANING UP DESKTOP.INI FILES >> "%SYSTEMDRIVE%\FINISH.CMD"ECHO ECHO FOR SOME REASON YOU'LL SEE COPIES OF DESKTOP.INI IN YOUR START MENU. >> "%SYSTEMDRIVE%\FINISH.CMD"ECHO ECHO THESE FILES ARE NORMALLY HIDDEN. >> "%SYSTEMDRIVE%\FINISH.CMD"ECHO ECHO THIS BATCH FILE WILL FIX THAT ISSUE. >> "%SYSTEMDRIVE%\FINISH.CMD"ECHO ATTRIB +S +H "%SYSTEMDRIVE%\DESKTOP.INI" /S >> "%SYSTEMDRIVE%\FINISH.CMD"ECHO CSCRIPT EJECT-DVD.VBS >> "%SYSTEMDRIVE%\FINISH.CMD"ECHO DEL %%0 >> "%SYSTEMDRIVE%\FINISH.CMD"REG ADD HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUNONCE /V FINISH /T REG_SZ /D %SYSTEMDRIVE%\FINISH.CMD /FIF EXIST %SYSTEMDRIVE%\un7zip.exe DEL /Q %SYSTEMDRIVE%\un7zip.exeIF EXIST %SYSTEMDRIVE%\7-zip32.dll DEL /Q %SYSTEMDRIVE%\7-zip32.dllDEL %0:::: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::
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