Você está perto. Você quer pular a primeira linha. Você deseja obter a descrição e o ID do dispositivo ao mesmo tempo (a vírgula é reservada, portanto, você deve esbanjá-lo com um acento circunflexo) e, como a saída possui espaços, você deve incluir várias saídas no if e put entre aspas. Aqui está um exemplo que obtém o último disco removível e o último disco fixo local. Obtendo o primeiro de cada um seria mais complicado, mas parece que você só vai ter um de qualquer maneira. Você poderia usar isso como quiser, por exemplo. canalizando para outro processo.
@echo off
REM setlocal keeps the variables from escaping the batch file (which I assume you want?)
setlocal
for /F "skip=1 tokens=1-10" %%A IN ('wmic logicaldisk get description^, deviceid') DO (
REM echo %%A %%B %%C %%D %%E %%F %%G
if "%%A %%B"=="Removable Disk" (
set LastRemovableDisk=%%C
)
if "%%A %%B %%C"=="Local Fixed Disk" (
set LastFixedDisk=%%D
)
)
REM This part is just to demonstrate the output
echo %LastRemovableDisk%
echo %LastFixedDisk%