jentoso
1. К сожалению, неизвестна минимальная длина временного каталога, например, для 12:
Код:

@Echo Off
Set $FLEN=12
Set $ROOT=C:
:LEN_LOOP
Set /A $FLEN-=1
Set $REG=%$REG%[0-9a-f]
If %$FLEN% GTR 0 GoTo LEN_LOOP
For /F "Delims=" %%i In ('DIR /A:D/B "%$ROOT%\*"^|FindStr /XRC:"%$REG%*"') Do @Echo RD /S/Q "%$ROOT%\%%i"
2. $FILE - файл со списком исключений,
$TEMP - временный файл
Код:

@Echo Off
Set $ROOT=C:
Set $FILE=%~dpn0.lst
Set $TEMP=%~dpn0.tmp
DIR /B/A:D "%$ROOT%\*" >"%$TEMP%"
For /F "Delims=" %%i In ('FindStr /IVXG:"%$FILE%" "%$TEMP%"') Do @Echo RD /S/Q "%$ROOT%\%%i"
З.Ы. для отладки перед
RD поставил
@Echo, перед применением убрать