KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to create a batch file that performs different 'choice' command based on the version of Windows being executed on. The choice command's syntax is different between Windows 7 and Windows XP. Choice command returns a 1 for Y and 2 for N. The following command returns the correct error level: Windows 7: choice /t 5 /d Y /m "Do you want to automatically shutdown the computer afterwards " echo %errorlevel% if '%errorlevel%'=='1' set Shutdown=T if '%errorlevel%'=='2' set Shutdown=F Windows XP: choice /t:Y,5 "Do you want to automatically shutdown the computer afterwards " echo %ERRORLEVEL% if '%ERRORLEVEL%'=='1' set Shutdown=T if '%ERRORLEVEL%'=='2' set Shutdown=F However, when it is combined with a command to detect the Windows OS version, errorlevel returns 0 before AN after the choice command in both my Windows XP and Windows 7 blocks of code. REM Windows XP ver | findstr /i "5\.1\." > nul if '%errorlevel%'=='0' ( set errorlevel='' echo %errorlevel% choice /t:Y,5 "Do you want to automatically shutdown the computer afterwards " echo %ERRORLEVEL% if '%ERRORLEVEL%'=='1' set Shutdown=T if '%ERRORLEVEL%'=='2' set Shutdown=F echo. ) REM Windows 7 ver | findstr /i "6\.1\." > nul if '%errorlevel%'=='0' ( set errorlevel='' echo %errorlevel% choice /t 5 /d Y /m "Do you want to automatically shutdown the computer afterwards " echo %errorlevel% if '%errorlevel%'=='1' set Shutdown=T if '%errorlevel%'=='2' set Shutdown=F echo. ) As you can see, I even tried clearing the errorlevel var before executing the choice command, but errorlevel remains at 0 after the choice command is executed. Any tips? Thanks!
Tags (comma-separated)
Save Edits
Cancel