0
我正在編寫一個批處理腳本,其中我應該區分Windows和非Windows系統(Linux,MAC OS,交換機,Xerox機器等)。Windows和其他系統的批處理區分
算法:
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.
如何使用nbtstat
或其他命令來區分Windows和其他系統?
我有一個命令塊(多個'wmic'調用)被替換爲'echo不是windows'和'echo windows'。這種語法在這種情況下會起作用嗎? –
它是否正確識別機器?如果是的話,你可以把wmic電話放在'echoes'的位置,甚至在括號內使用多行。 – npocmaka
它確實可以識別機器,但是用'wmic'調用的多行代碼代替'echos',它不會執行代碼。您可以在接受的答案中找到[http://stackoverflow.com/questions/22953558/batch-script-shows-no-output]中的代碼。我在'ping'命令後面使用了'nbtstat'命令。 –