FOR /F "tokens=* USEBACKQ" %%F IN (`command`) DO (
SET var=%%F
)
ECHO %var%
J'utilise toujours USEBACKQ afin que si vous avez une chaîne à insérer ou un nom de fichier long, vous puissiez utiliser vos guillemets doubles sans perturber la commande.
Si votre sortie contient plusieurs lignes, vous pouvez faire ceci
SETLOCAL ENABLEDELAYEDEXPANSION
SET count=1
FOR /F "tokens=* USEBACKQ" %%F IN (`command`) DO (
SET var!count!=%%F
SET /a count=!count!+1
)
ECHO %var1%
ECHO %var2%
ECHO %var3%
ENDLOCAL