WMIC - 如何检查是否返回空值?

WMIC - 如何检查是否返回空值?

我正在制作一个批处理文件来制作计算机日志(我需要在工作中格式化电脑之前保存一些信息...)

因此我找到了一些创建此日志的命令,请参阅:

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"

问题出在这个命令上:

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

在这种情况下,我只需要显示具有MAC地址...

在其他情况下,我这样做仅显示启用适配器:

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

但是现在,我需要检查值是否为非空。如何检查是否返回非空值?是否只取具有 Mac 地址的值?

我尝试了这个但是没有用:

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

抱歉我的英语不好=)

答案1

WMIC 使用 SQL 方言。空字符串(0 长度字符串)与 NULL(无值)不同。

wmic nicconfig where "MACAddress is not null" get ...

相关内容