Para esclarecer primeiro, se você usar set sem uma atribuição de valor (como set value = 10 ), então set retornará todo o ambiente variáveis que começam como a expressão que você especificou.
set v
listará todas as variáveis cujo nome começa com v .
Eu assumo que você tenha criado previamente uma variável de ambiente v por acidente que contenha "10.0". Isso é o que realmente faz com que a primeira linha de sua saída. Tenho certeza de que isso não é resultado de cmd . Ele é apenas incluído na lista porque seu nome também corresponde ao padrão de pesquisa fornecido.
Infelizmente, é aqui que minhas ideias terminam. Existem algumas soluções sobre como capturar a saída de um comando em uma variável de ambiente, mas não consegui trabalhar com ver :
link
link
Desculpe, não posso realmente dar a solução desejada. Espero que eu possa ajudar a resolver algumas coisas embora.
Desejando-lhe boa sorte para encontrar a solução perfeita em algum lugar aqui.