Como posso definir o resultado do seguinte comando como uma variável chamada model?
wmic computersystem get model
A saída disso no meu sistema é:
Model VPCF22L1E
Observe a linha extra em branco. Eu usei VPCF22L1E
para testar o arquivo de lote.
Use o seguinte arquivo de lote (test.cmd):
@echo off
setlocal enableDelayedExpansion
for /f "usebackq skip=1" %%i in ('wmic computersystem get model') do (
set model=%%i
goto :done
)
:done
if [%model%]==[VPCF22L1E] start "" "%ProgramFiles%\Internet Explorer\iexplore.exe" "download url for VPCF22L1E"
if [%model%]==[Y] start "" "%ProgramFiles%\Internet Explorer\iexplore.exe" "download url for Y"
if [%model%]==[Z] start "" "%ProgramFiles%\Internet Explorer\iexplore.exe" "download url for Z"
endlocal
Notas:
-
skip=1
é usado para pular a linha de cabeçalhowmic
. -
goto :done
é usado para pular a linha em branco extrawmic
. - Edite as linhas
if
conforme apropriado.
Leitura Adicional
- Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
- para / f - Comando Loop contra os resultados de outro comando.
- if - Realize condicionalmente um comando.
- definir - Exibir, definir ou remover variáveis de ambiente do CMD. As alterações feitas com o SET permanecerão apenas pela duração da sessão atual do CMD.
- iniciar - Iniciar um programa, comando ou script em lote (abre em uma nova janela).
- wmic - Comando de instrumentação de gerenciamento do Windows.