批量区分Windows和其他系统

时间:2014-07-23 10:48:09

标签: windows batch-file

我正在编写一个批处理脚本,我应该区分Windows和非Windows系统(Linux,MAC OS,交换机,Xerox机器等)。

算法:

if (it is a Windows System)
then
    do this
end if

为了做到这一点,我试图帮助nbtstat命令。据我所知,当执行nbtstat -A [IP Address]时,如果[IP Address]是Windows系统,它将显示输出如下:

>nbtstat -A 172.22.73.15
Local Area Connection:
Node IpAddress: [172.22.73.15] Scope Id: []
           NetBIOS Remote Machine Name Table

       Name               Type         Status
    ---------------------------------------------
    MANDAR-PC     <00>  UNIQUE      Registered
    DOMAIN        <00>  GROUP       Registered
    MANDAR-PC     <20>  UNIQUE      Registered
    DOMAIN        <1E>  GROUP       Registered

    MAC Address = 00-1E-0B-9D-DD-E9

对于非Windows系统,输出将为:

>nbtstat -A 172.22.246.51

Local Area Connection:
Node IpAddress: [172.22.73.15] Scope Id: []

    Host not found.

如何区分Windows和其他系统,我如何使用nbtstat或任何其他命令?

1 个答案:

答案 0 :(得分:0)

nbtstat -A 172.22.246.51 | find /i "Host not found." >nul 2>&1 && ( echo not a windows ) || (echo windows)