Yep, it's possible. I took a little time putting this all together, you'll have to let me know if you have any questions or problems.
@echo off
setlocal enabledelayedexpansion
set tf=x
set /a number=0
for /f "tokens=1* delims= " %%a in ('fsutil fsinfo drives ^| find "\"') do call :process %%a %%b
del %tf%
:UserInput
:: Asks for and checks user input, based on drive variables
:: If nothing is selected, processing is terminated
:: If invalid value is selected, it loops back to the beginning
set choice=
set /p choice=Please select a drive from the list:
if "%choice%"=="" Echo Exiting... & goto :eof
for /f "tokens=2 delims== " %%a in ('set drive%choice% 2^>^&1') do (
if "%%a"=="variable" (
Echo Invalid option selected, please try again
goto :UserInput
) else (
set choice=%%a
)
)
:: At this point, we should have a valid drive stored in the %choice% variable
endlocal
goto :eof
:process
:: Gets the information for each drive, sets the drive number variables
if "%1"=="" goto :eof
set /a number+=1
if /i "%1" NEQ "Drives:" (
set drive%number%=%1
fsutil fsinfo drivetype %1 > %tf%
) else (
set drive%number%=%2
fsutil fsinfo drivetype %2 > %tf%
)
set /p drivetype=<%tf%
echo %number%. %drivetype%
Regards,
Ax