3

Я делаю командный файл, чтобы сделать журнал компьютера (мне нужно сохранить некоторую информацию, прежде чем форматировать ПК на моей работе ...)

Итак, я нашел несколько команд для создания этого журнала, смотрите:

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 ответ1

4

WMIC использует диалект SQL. Пустая строка (строка длиной 0) не совпадает с NULL (без значения).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .