2014-07-23 4 views
0

Windows와 비 Windows 시스템 (Linux, MAC OS, 스위치, 제록스 머신 등)을 구별하는 배치 스크립트를 작성했습니다.Windows와 다른 시스템을 일괄로 구별

알고리즘 : 나는 nbtstat 명령의 도움을하려고 그렇게하기 위해

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

. [IP Address] Windows 시스템 인 경우 다음과 같이 내 지식에 따라, 실행시 nbtstat -A [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 

을, 출력은 다음과 같습니다

>nbtstat -A 172.22.246.51 

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

    Host not found. 

nbtstat 또는 다른 명령을 사용하여 Windows와 다른 시스템을 구분할 수 있습니까?

답변

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

?

+0

나는 'echo not a windows'와'echo windows'를 대체 할 명령 블록 (여러 개의'wmic' 호출)을 가지고 있습니다. 이 경우이 구문이 작동합니까? –

+0

기계를 올바르게 인식합니까? 그렇다면 '에코'장소에 wmic 호출을 넣을 수 있으며 대괄호 블록 안에 여러 줄을 사용할 수도 있습니다. – npocmaka

+0

기계를 정확하게 인식하지만 'echos'를'wmic' 호출로 구성된 여러 줄 코드로 바꿀 때 코드를 실행하지 않았습니다. 수락 된 답변에서 [http://stackoverflow.com/questions/22953558/batch-script-shows-no-output]에서 코드를 찾을 수 있습니다. 나는'ping' 명령 다음에'nbtstat' 명령을 사용했습니다. –

관련 문제