WMIC - como verificar se retorna valor vazio?

3

Estou fazendo um arquivo de lote para fazer log de computador (eu preciso salvar algumas informações antes de formatar o PC no meu trabalho ...)

Então eu encontrei alguns comandos para criar este log, veja:

rem -- Windows Version
wmic OS get Caption, OSArchitecture, ServicePackMajorVersion /format:htable > "%~dp0Config %computername%.html"

rem -- User Account
wmic USERACCOUNT get Caption,Name,PasswordRequired,Status /format:htable >> "%~dp0Config %computername%.html"

rem -- Installed Programs
wmic product get Description, InstallDate, Name, Vendor, Version /format:htable >> "%~dp0Config %computername%.html"

O problema está neste comando:

wmic nicconfig get Description, MACAddress, IPAddress, IPSubnet, DefaultIPGateway, DNSServerSearchOrder, DHCPEnabled /format:htable >> "%~dp0Config %computername%.html"

Neste caso, preciso mostrar apenas adaptadores que tenham endereço Mac ...

Em outro caso, faço isso para mostrar apenas Ativar adaptadores:

wmic NIC where NetEnabled=true get Name, Speed, PNPDeviceID /format:htable >> "%~dp0Config %computername%.html"

Mas agora, preciso verificar se não há valores vazios. Como posso verificar se o retorno não está vazio? para obter apenas valores com endereço Mac?

Eu tento isso, mas não funciona:

wmic nicconfig where MACAddress!='' get Description, MACAddress, IPAddress, IPSubnet, DefaultIPGateway, DNSServerSearchOrder, DHCPEnabled /format:htable >> "%~dp0Config %computername%.html"

Desculpe pelo meu mau inglês =)

    
por rafaelfndev 21.11.2014 / 02:00

1 resposta

4

O WMIC usa um dialeto do SQL. Uma string vazia (string de 0 caracteres) não é igual a NULL (sem valor).

wmic nicconfig where "MACAddress is not null" get ...
    
por 21.11.2014 / 03:10