Não há variável que simplesmente carrega todas as cartas mapeadas.
se você estiver executando como administrador,
fsutil fsinfo drives
retorna todas essas unidades - um exemplo de código:
FOR /F "usebackq tokens=1" %%a IN ('MOUNTVOL ^| FIND ":\"') DO (FOR /F "usebackq tokens=3" %%b IN ('FSUTIL FSINFO DRIVETYPE %%a') DO (IF /I "%%b" EQU "Removable" ECHO %%a ))
(brinque com as saídas)
... se não for viável, você terá que passar por todos eles, por exemplo:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO @if exist %%i: @echo %%i:
(provavelmente deve omitir as letras da unidade esperada da unidade óptica / cartão de memória).
O script VBS, ou Powershell, é ideal para esse tipo de coisa.