Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

What is this doing?

Status
Not open for further replies.

gsurface

Technical User
Jul 12, 2003
1
0
0
US
Hi everyone, Im trying to convert a batch program into visual basic and since I don't program in batch, I was wondering if anyone can please help. I am wondering if someone can explain what this script is doing:

%SAY% Generating Multi-Boot Sector...
ECHO.>>"%TMP%\PART_1.BIN"
ECHO.>>"%TMP%\PART_1.BIN"
ECHO %ANS%>>"%TMP%\PART_1.BIN"
ECHO.>>"%TMP%\PART_1.BIN"
FOR /F "TOKENS=1,* DELIMS=/" %%A IN ('FINDSTR /I /C:"CUSTOM_BOOT_MESSAGE" "%WD%\OS.INI"') DO SET CMSG=%%B

:GENERATE_BOOT_CLASS
CALL :SET_CLASS
IF NOT DEFINED CLASS GOTO FIX_BYTES
:GENERATE_BOOT_OS
CALL :SET_OS
IF NOT DEFINED OS_REF GOTO GENERATE_BOOT_CLASS

SET COUNT=0
FOR %%A IN (%OS_LIST%) DO (
SET /A COUNT=!COUNT! + 1
IF "%OS_REF%" EQU "%%A" GOTO GENERATE_BOOT_MENU
)

:GENERATE_BOOT_MENU
FOR /F "TOKENS=%COUNT%" %%A IN ("A B C D E F G H I J K L M N") DO SET LETTER=%%A
ECHO [%LETTER%] %NAME% >>"%TMP%\PART_1.BIN"
ECHO %OS_REF% >>"%TMP%\PART_2.BIN"
GSAR -o "-s:x0D:x0A" -r "%TMP%\PART_2.BIN" %NUL%
GSAR -o "-s:x20" -r "%TMP%\PART_2.BIN" %NUL%
FOR /F "TOKENS=1" %%A IN ("%OS_LIST%") DO IF "%%A" EQU "%OS_REF%" GSAR -o "-s%OS_REF%" "-r:x0%NUM%:x04%OS_REF%" "%TMP%\PART_2.BIN" %NUL%

GOTO GENERATE_BOOT_OS

:FIX_BYTES
ECHO.>> "%TMP%\PART_1.BIN"
ECHO.>> "%TMP%\PART_1.BIN"
ECHO %CMSG% >>"%TMP%\PART_1.BIN"
SET BYTES=
SET BYTEC=
ECHO ##>>"%TMP%\PART_1.BIN"
FOR /F "TOKENS=1,2 DELIMS=x " %%A IN ('GSAR.EXE -b -h "-s##:x0D:x0A" "%TMP%\PART_1.BIN"') DO IF "%%A" EQU "0" SET /A BYTEC=0x1FD - 0x%%B
FOR /L %%A IN (1,1,%BYTEC%) DO SET BYTES=:x00!BYTES!
GSAR -o "-s:x0D:x0A##:x0D:x0A" "-r:x00:x00%BYTES%" "%TMP%\PART_1.BIN" %NUL%
SET BYTES=
SET BYTEC=
ECHO ##>>"%TMP%\PART_2.BIN"
FOR /F "TOKENS=1,2 DELIMS=x " %%A IN ('GSAR.EXE -b -h "-s##:x0D:x0A" "%TMP%\PART_2.BIN"') DO IF "%%A" EQU "0" SET /A BYTEC=0xC6 - 0x%%B
FOR /L %%A IN (1,1,%BYTEC%) DO SET BYTES=:x00!BYTES!
GSAR -o "-s##:x0D:x0A" "-r%BYTES%:x55:xAA" "%TMP%\PART_2.BIN" %NUL%
COPY /Y /B "%WD%\FILES\PRE.BIN" + "%TMP%\PART_1.BIN" + "%TMP%\PART_2.BIN" "%TMP%\FINAL.BIN">NUL
:FIX_BYTES_DONE
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top