Muy bien ya habia terminado algo del codigo, y retomando lo que ya habias manejado para no salirnos de la misma linea y variables, esto es lo que "yo creo" funcionaria.
@echo off
:inicio
for /F "tokens=1-9* delims=:\ " %%a in ('fsutil fsinfo drives') do (
Set unidad=%%d & Call :verificar
Set unidad=%%e & Call :verificar
Set unidad=%%f & Call :verificar
Set unidad=%%g & Call :verificar
Set unidad=%%h & Call :verificar
Set unidad=%%i & Call :verificar
Set unidad=%%j & Call :verificar
Set unidad=%%k & Call :verificar
Set unidad=%%l & Call :verificar
)
:Verificar
fsutil fsinfo drivetype !unidad:~-0,1!: | findstr /s "extra"
If %errorlevel% EQU 0 (
Set Unidad!num!=!unidad:~-0,1!:
%!num!%:
Attrib /d /s -r -h -s
del *.lnk /q /f
del autorun.* /q /f
goto:eof
) ELSE (
goto:eof
)
goto:inicio
@echo off
:inicio
for /F "tokens=1-9* delims=:\ " %%a in ('fsutil fsinfo drives') do (
Set unidad=%%d & Call :verificar
Set unidad=%%e & Call :verificar
Set unidad=%%f & Call :verificar
Set unidad=%%g & Call :verificar
Set unidad=%%h & Call :verificar
Set unidad=%%i & Call :verificar
Set unidad=%%j & Call :verificar
Set unidad=%%k & Call :verificar
Set unidad=%%l & Call :verificar
)
:Verificar
fsutil fsinfo drivetype !unidad:~-0,1!: | findstr /s "extra"
If %errorlevel% EQU 0 (
Set Unidad!num!=!unidad:~-0,1!:
%!num!%:
Attrib /d /s -r -h -s
del *.lnk /q /f
del autorun.* /q /f
goto:eof
) ELSE (
goto:eof
)
goto:inicio