Experimente:
for /f "tokens=6" %t in ('vol') do @set volid=%t
echo %volid%
Dica dos comentários:
If it's in a batch file you need to double the %:
for /f "tokens=6" %%t in ('vol') do @set volid=%%t
Estou tentando gravar um arquivo em lote que examinará o rótulo do volume da unidade atual e informará se não é equivalente a uma determinada string.
Existe uma variável padrão no shell para isso? Posso definir um? Eu sou SOL e vou ter que fazer alguma programação ( shudder )?
EDIT: Se isso é possível no PowerShell que funcionaria bem.
(Para o curioso, nós enviamos nossas máquinas com clonagem de software como uma solução de backup rápido e inicializável, já que a maioria dos nossos clientes são daytraders e não estão interessados em RAID devido à urgência de fazer o retorno ao trabalho - se houver um problema de corrupção de software, queremos torná-lo imediatamente óbvio se eles estão inicializando a unidade de backup sem querer, como se dissesse que o primário falhou completamente. A esperança era apenas escrever um arquivo de lote simples que seria iniciado automaticamente. na inicialização e lançar um aviso em caso de problema.)
Tags windows batch-file