Войти

Показать полную графическую версию : [решено] Узнать ip, dns, netbios и скинуть в текстовик


Chargos
10-10-2010, 23:50
Доброго времени суток. Помогите написать батник с запросами ("Узнать IP машины... Нажмите кнопку...", например), который узнаёт IP, DNS, NetBIOS машины и скидывает их в текстовый файл. Заранее спасибо

amel27
11-10-2010, 00:38
for /f "tokens=1-3 skip=1 delims={} " %%i in (
'"WMIC NICCONFIG Where IPEnabled=TRUE Get DNSHostName,DNSServerSearchOrder,IPAddress"') do (
echo NETBIOS: %%i
echo DNS IP: %%j
echo HOST IP: %%k
echo.
)>> file.txt

Chargos
11-10-2010, 00:56
Премного благодарен

Anonymоus
11-10-2010, 04:48
amel27, если прописаны основной и альтернативный DNS, то в "HOST IP" будет как раз альтернативный, вместо IP данного компьютера.

amel27
11-10-2010, 05:37
Anonymоus, справедливое замечание, не хотелось громоздить без нужды: ;)
@echo off
SETLOCAL EnableDelayedExpansion

for /f "tokens=* skip=1" %%i in (
'"WMIC NICCONFIG Where IPEnabled=TRUE Get DNSHostName,DNSServerSearchOrder,IPAddress|FindStr ."
') do set "$i=%%i"& set "$i=!$i: =!"& set $i=!$i:"=!
for /f "tokens=1-3 delims={}" %%a in ("%$i%") do (
echo NETBIOS: %%a
echo DNS IP: %%b
echo HOST IP: %%c
echo.
)>> file.txt

ADD: то же, но без использования отложенной подстановки:
for /f "tokens=* skip=1" %%i in ('"WMIC NICCONFIG Where IPEnabled=TRUE Get DNSHostName,DNSServerSearchOrder,IPAddress|FindStr ."') do set "$i=%%i"
set $i=%$i:"=%
set $i=%$i: =%
for /f "tokens=1-3 delims={}" %%a in ("%$i%") do (
echo NETBIOS: %%a
echo DNS IP: %%b
echo HOST IP: %%c
echo.
)>>file.txt




© OSzone.net 2001-2012