Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- StartNet.cmd
- :: StartNet.CMD
- :: Placed in System32 of WinPE
- @ECHO OFF
- :: Setup for InstallOS.cmd
- wpeutil UpdateBootInfo
- for /f "tokens=2* delims= " %%A in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET DetectFirm=%%B
- :: Note: delims is a TAB followed by a space.
- if %DetectFirm%==0x1 SET FIRMWARE=BIOS
- if %DetectFirm%==0x2 SET FIRMWARE=UEFI
- :: Add script to detect files needed.
- for %%p in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do SET LOGDIR=%%p:\Logs 2>nul
- for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do %%a:\installos.cmd %LOGDIR% %firmware% 2>nul
- :EXIT
- InstallOS.CMD
- :: InstallOS.CMD v1.3
- :: Written by: Humphrey
- ::
- :: Runs from Windows PE to create partitions, apply a Windows image file, and setup the boot record.
- :: In this version, BIN and IMAGES need to be in the same folder as InstallOS.CMD
- ::
- @ECHO OFF
- :: SETUP
- SetLocal EnableDelayedExpansion
- CD /D %~dp0
- FOR /F "TOKENS=*" %%A IN ('TIME/T') DO SET NowT=%%A & FOR /F "TOKENS=*" %%A IN ('DATE/T') DO SET NowD=%%A
- SET BIN=.\bin\& SET IMGDIR=!BIN!Images\
- :MAIN
- TITLE Humphreys OS Installer
- :: Main Menu / OS Selection
- ECHO.
- ECHO. Select which Windows version to install.
- ECHO.
- ECHO. 1] Windows Vista
- ECHO. 2] Windows 7
- ECHO. 3] Windows 8
- ECHO.
- SET /P VER=What version to install?:
- IF "!VER!"=="" CLS & GOTO :MAIN
- SET SVER=!VER! & CLS
- :ARCHSEL
- :: Architecture Menu
- ECHO.
- ECHO. 1] x32 (x86)
- ECHO.
- ECHO. 2] x64
- ECHO.
- SET /P ARCHSEL=What architecture to install?:
- IF "!ARCHSEL!"=="" CLS & GOTO :ARCHSEL
- IF "!ARCHSEL!"=="1" (SET Arch=x86& CLS) else SET Arch=x64& CLS
- :PARTMENU
- :: Partitioning Menu
- ECHO.
- ECHO.!FIRMWARE! was detected on boot.
- ECHO.
- ECHO. 1] MBR BIOS
- ECHO.
- ECHO. 2] GPT uEFI
- ECHO.
- SET /P PARTITION=What parition scheme to use?:
- IF "!PARTITION!"=="" CLS & GOTO :PARTMENU
- IF "!PARTITION!"=="1" SET PART=MBR& SET BOOT=W:\Windows\System32\bcdboot W:\Windows /s S: /f BIOS& CLS
- IF "!PARTITION!"=="2" SET PART=GPT& SET BOOT=W:\Windows\System32\bcdboot W:\Windows /s S: /f UEFI& CLS
- GOTO :!SVER!
- :1
- :: WinVista
- SET IMGFILE=\v
- ECHO.
- ECHO. Windows Vista (!ARCH!)
- ECHO.
- ECHO. 1] Home Basic
- ECHO. 2] Home Premium
- ECHO. 3] Ultimate
- ECHO.
- SET /P EDI=What edition to install?:
- IF "!EDI!"=="" CLS & GOTO :1
- IF "!EDI!"=="1" SET IMGINDX=2& SET CHK= Windows Vista Home Basic& CLS & GOTO :CHK
- IF "!EDI!"=="2" SET IMGINDX=3& SET CHK= Windows Vista Home Premium& CLS & GOTO :CHK
- IF "!EDI!"=="3" SET IMGINDX=4& SET CHK= Windows Vista Ultimate& CLS & GOTO :CHK
- CLS & GOTO :1
- :2
- :: Win7
- SET IMGFILE=\7
- ECHO.
- ECHO. Windows 7 (!ARCH!)
- ECHO.
- ECHO. 1] Home Basic
- ECHO. 2] Home Premium
- ECHO. 3] Professional
- ECHO. 4] Ultimate
- ECHO.
- SET /P EDI=What edition to install?:
- IF "!EDI!"=="" CLS & GOTO :2
- IF "!EDI!"=="1" SET IMGINDX=1& SET CHK= Windows 7 Home Basic& CLS & GOTO :CHK
- IF "!EDI!"=="2" SET IMGINDX=2& SET CHK= Windows 7 Home Premium&& CLS & GOTO :CHK
- IF "!EDI!"=="3" SET IMGINDX=3& SET CHK= Windows 7 Home Professional& CLS & GOTO :CHK
- IF "!EDI!"=="4" SET IMGINDX=4& SET CHK= Windows 7 Ultimate& CLS & GOTO :CHK
- :3
- :: Win8.x
- SET EDI=
- ECHO.
- ECHO. 1] Windows 8
- ECHO.
- ECHO. 2] Windows 8.1
- ECHO.
- SET /P EDI=What edition to install?:
- IF "!EDI!"=="" CLS & GOTO :3
- IF "!EDI!"=="1" SET IMGFILE=\8& SET CHK1=Windows 8& CLS & GOTO :4
- IF "!EDI!"=="2" SET IMGFILE=\81& SET CHK1=Windows 8.1& CLS & GOTO :4
- :4
- :: Win8 Edition
- SET EDI=
- ECHO.
- ECHO. !CHK1! (!ARCH!)
- ECHO.
- ECHO. 1] Core
- ECHO.
- ECHO. 2] Professional
- ECHO.
- SET /P EDI=What edition to install?:
- IF "!EDI!"=="" CLS & GOTO :4
- IF "!EDI!"=="1" SET IMGINDX=2 & SET CHK= Core& CLS & GOTO :CHK
- IF "!EDI!"=="2" SET IMGINDX=1 & SET CHK= Professional& CLS & GOTO :CHK
- :CHK
- ECHO.!LOGDIR!
- SET CONT=
- :: Install OS Check
- TITLE Install Check
- ECHO.
- ECHO.Start installation of: !CHK1!!CHK! (!ARCH!) [!PART!]
- ECHO.
- SET /P CONT=[Y]es / [N]o:
- IF "!CONT!"=="" CLS & GOTO :CHK
- IF /I "!CONT!"=="Y" CLS & GOTO :APPLYSETTINGS
- IF /I "!CONT!"=="N" SET PARTITION=& SET PART=& SET ARCHSEL=& SET EDI=& SET ARCH=& SET IMGFILE=& SET IMGINDX=& SET VER=& CLS & GOTO :MAIN
- CLS & GOTO :CHK
- :APPLYSETTINGS
- ECHO.
- :: Applies image file and creates the partitions tables and boot settings.
- DISKPART /S !BIN!!PART!.txt
- DISM /APPLY-IMAGE /IMAGEFILE:!IMGDIR!!ARCH!!IMGFILE!!ARCH!.wim /INDEX:!IMGINDX! /APPLYDIR:W:\
- !BOOT!
- :LOG
- :: Outputs log of completed install.
- ECHO.Installed !CHK1!!CHK! !ARCH! on !NowD! @ !NowT! >>!LOGDIR!\Final.log
- Start CMD
- Tree
- InstallOS.cmd (Located in the root of the boot media, called by StartNet.cmd)
- Also located in root of the boot media
- .\BIN\
- .\BIN\Images
- .\BIN\x64
- .\BIN\x64\7x64.wim
- .\BIN\x64\81x64.wim
- .\BIN\x64\8x64.wim
- .\BIN\x64\vx64.wim
- .\BIN\x86
- .\BIN\x86\7x86.wim
- .\BIN\x86\81x86.wim
- .\BIN\x86\8x86.wim
- .\BIN\x86\vx86.wim
- .\BIN\Logs (Working on relocating these to the temp folder of the WinPE so they can actually be written and thusly, observed.)
- .\BIN\MBR.txt
- .\BIN\GPT.txt
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement