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 ...
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 =)
Tags windows batch batch-file cmd.exe wmic