[Sprint HTC EVO 4G LTE] -viperboy-:
Here is the code:

@ECHO off
color 0c
mode con:cols=80 lines=35
::VERSION
SET VERSION=v1.0.0
::PROGRAMS
SET ADB=files\adb.exe
SET FASTBOOT=files\fastboot.exe
SET MD5SUM=files\md5sum.exe
::INFO
SET DEVICE=HTC EVO 4G LTE (jewel)
SET RUUVERSION=3.16.651.3
::FILES
SET ROMZIP=files\rom.zip
SET ROMZIPMD5=9f95e8c2c8c9d3ae6834ea081434ac62
SET ROMZIPMD5CHECK=files\md5.txt
::eek:THERS
SET BYPASS=files\bypass.txt
SET LOG=files\log.txt
SET UNLOCKCODE=files\Unlock_code.bin

ECHO.
ECHO Initializing...
del %LOG% 2>NUL
del %ROMZIPMD5CHECK% 2>NUL
%adb% kill-server > NUL
%adb% start-server > NUL

ECHO.
ECHO Getting device information...
ping 127.0.0.1 -n 3 > NUL

IF EXIST %BYPASS% (
GOTO forceBypass
) ELSE (
GOTO initVipeRUU
)

:forceBypass
ECHO.
ECHO *** BYPASSING NORMAL CHECKS ***
ECHO.
ECHO I hope you know what you're doing... please confirm.
ECHO.
pause
SET BYPASS=1
SET STATUS=UNKNOWN
GOTO MENU

:initVipeRUU
%adb% shell getprop ro.product.device > %LOG%
find "jewel" %log% > NUL
IF %ERRORLEVEL%==0 SET ISADB="YES" && SET STATUS=Connected (adb) && GOTO verifyDevice
IF %ERRORLEVEL%==1 GOTO noDevice

:verifyDevice
SET /p CHECKDEVICE=<%LOG%
IF %CHECKDEVICE% == jewel GOTO MENU
IF NOT %CHECKDEVICE% == jewel GOTO wrongDevice

:noDevice
CLS
ECHO.
ECHO Your device wasn't detected. Please make sure the device is plugged in and
ECHO booted into Android.
ECHO.
ECHO Please also make sure that you have installed the drivers located in the
ECHO "files\drivers" folder and try again.
ECHO.
pause
EXIT

:wrongDevice
CLS
ECHO.
ECHO Device isn't an %DEVICE%!
ECHO.
ECHO This would have bricked your phone, exiting...
ECHO.
pause
exit

:MENU
CLS
ECHO ===============================================================================
IF %BYPASS% == 1 ECHO. && ECHO *** BE ADVISED, RUNING IN BYPASSED MODE! ***
ECHO.
ECHO VipeRUU %VERSION%
ECHO by -viperboy-
ECHO and Indirect
ECHO.
ECHO Device: %DEVICE% RUU Version: %RUUVERSION%
ECHO.
ECHO Status: %STATUS%
ECHO.
ECHO ===============================================================================
ECHO.
ECHO	1) Start RUU Process
ECHO.
ECHO	2) Unlock bootloader
ECHO.
ECHO	3) Flash Recovery (do after step 2)
ECHO.
ECHO	4) Toggle Security Flag (S-OFF to S-ON)
ECHO.
ECHO	5) Exit
ECHO.
SET /P CHOICE=Please choose an option:
IF %CHOICE% == 1 GOTO flashRUU
IF %CHOICE% == 2 GOTO unlockBootloader
IF %CHOICE% == 3 GOTO doRecovery
IF %CHOICE% == 4 GOTO doSecurityFlag
IF %CHOICE% == 5 EXIT
IF NOT DEFINED %CHOICE% GOTO ERROR

:flashRUU
CLS
ECHO.
ECHO Rebooting to bootloader...
%adb% reboot bootloader 2>NUL
ECHO.
ECHO Starting RUU mode...
%FASTBOOT% oem rebootRUU 2>NUL
ECHO.
ECHO Checking MD5 before flashing...
ECHO.
%MD5SUM% %ROMZIP% > %ROMZIPMD5CHECK%
find "%ROMZIPMD5%" %ROMZIPMD5CHECK% > NUL
IF %ERRORLEVEL%==0 ECHO MD5 matches! Proceeding...
IF %ERRORLEVEL%==1 GOTO badMD5
ECHO.
ECHO Performing pre-update...
%FASTBOOT% flash zip %ROMZIP% 2>NUL
ECHO.
ECHO Flashing...
::Keep fastboot from crashing
ping 127.0.0.1 -n 6 > NUL
%FASTBOOT% flash zip %ROMZIP% 2>NUL
ECHO.
ECHO ROM.zip flash sucessful!
ECHO.
SET /P STAYINBOOTLOADER=Stay in bootloader? (y/n):
IF %STAYINBOOTLOADER% == y %FASTBOOT% reboot-bootloader 2>NUL && ECHO. && ECHO Rebooting to bootloader...
IF %STAYINBOOTLOADER% == Y %FASTBOOT% reboot-bootloader 2>NUL && ECHO. && ECHO Rebooting to bootloader...
IF %STAYINBOOTLOADER% == n %FASTBOOT% reboot 2>NUL && ECHO. && ECHO Rebooting to Android...
IF %STAYINBOOTLOADER% == N %FASTBOOT% reboot 2>NUL && ECHO. && ECHO Rebooting to Android...
ECHO.
pause
GOTO MENU

:unlockBootloader
IF EXIST %UNLOCKCODE% (
GOTO hasUnlockCode
) ELSE (
GOTO getUnlockCode
)

:hasUnlockCode
CLS
ECHO.
%FASTBOOT% flash unlocktoken %UNLOCKCODE% 2>NUL
ECHO Please continue the steps from your phone.
ECHO.
pause
GOTO MENU

:getUnlockCode
CLS
ECHO.
ECHO Please copy the code below...
ECHO.
%FASTBOOT% oem get_identifier_token
ECHO.
ECHO See http://bit.ly/116rKCs if you are unsure what to copy.
ECHO.
ECHO You can continue the process at http://www.htcdev.com/bootloader/
ECHO When you get your Unlock_code.bin, please place it in the
ECHO "files" folder and run this step again to unlock your
ECHO bootloader.
ECHO.
pause
GOTO MENU

:doRecovery
CLS
ECHO.
ECHO Your device needs to be unlocked.
ECHO.
SET /P RECCHOICE=Are you sure you want to do this? (y/n):
IF %RECCHOICE% == y GOTO flashRecovery
IF %RECCHOICE% == Y GOTO flashRecovery
IF %RECCHOICE% == n ECHO. && ECHO Cancelled! && pause && GOTO MENU
IF %RECCHOICE% == N ECHO. && ECHO Cancelled! && pause && GOTO MENU
IF NOT DEFINED %RECCHOICE% ECHO. && ECHO Cancelled! && ECHO. && pause && GOTO MENU

:flashRecovery
%fastboot% flash recovery files\recovery.img 2>NUL
ECHO.
ECHO Recovery flashed!
ECHO.
pause
GOTO Menu

:doSecurityFlag
CLS
ECHO.
ECHO This needs to be done IMMEDIATELY AFTER you flash the RUU! IF you have a
ECHO custom HBOOT, it WILL brick your device!!! You must be completely stock!
ECHO.
ECHO You will have to completely go through an S-OFF process if you
ECHO ever wish to have S-OFF again. This is NOT RECOMMENDED, unless you
ECHO are returning your phone for warranty work.
ECHO.
SET /P SECUCHOICE=Are you sure you want to do this? (y/n):
IF %SECUCHOICE% == y GOTO writeSecureFlag
IF %SECUCHOICE% == Y GOTO writeSecureFlag
IF %SECUCHOICE% == n ECHO. && ECHO Cancelled! && pause && GOTO MENU
IF %SECUCHOICE% == N ECHO. && ECHO Cancelled! && pause && GOTO MENU
IF NOT DEFINED %SECUCHOICE% ECHO. && ECHO Cancelled! && pause && GOTO MENU

:writeSecureFlag
%fastboot% oem writesecureflag 3
pause
GOTO menu

:badMD5
ECHO.
ECHO Bad md5 when checking rom.zip! Please redownload VipeRUU, as flashing
ECHO a file with a bad md5sum can brick your phone!
ECHO.
pause
exit

:ERROR
ECHO.
ECHO Invalid option, please try again!
ECHO.
PAUSE
GOTO MENU

I just realized there are a few more places in the code that you need to change things to make it work for another device. I will clean that up at a later point, but if you follow the below information, you can make it work on any Android device. Make sure you're rom.zip is named "rom.zip"

Change these at it applies to your device/files:

SET DEVICE=HTC EVO 4G LTE (jewel)
SET RUUVERSION=3.16.651.3
SET ROMZIPMD5=9f95e8c2c8c9d3ae6834ea081434ac62

Change "jewel" to whatever your device name is when running getprop ro.product.device

:initVipeRUU
%adb% shell getprop ro.product.device > %LOG%
[COLOR="Red"]find "jewel" %log% > NUL[/COLOR]

Change "jewel" here as well to your device name found via getprop ro.product.device

:verifyDevice
SET /p CHECKDEVICE=<%LOG%
[COLOR="red"]IF %CHECKDEVICE% == jewel GOTO MENU
IF NOT %CHECKDEVICE% == jewel GOTO wrongDevice[/COLOR]

The above 2 I will make easier to edit later, but for now, this will work.