Бывает необходимо быстро просмотреть “сетевое окружение” с какими-то заданными параметрами и иногда сохранить отчет в файл или выполнить какие-то действия над компьютерами доступными в “Сетевом окружении”. Два скрипта ниже, показывают простейшие примеры работы, модифицируйте их под свои нужды, при необходимости.
net-view-ping.cmd
:: если выдернуть кабель из сетевой карты, пакетник не работает:: у команды delims=\\ " наличие пробела после двух обратных
:: бэкслэшей - обязательно (задает разделители, для правильного:: извлечения имен компьютеров, для послед передачи команде ping@echo offclsecho.echo проверяю доступность компьютеровecho.echo займет некоторое время, если часть станций выключенаecho но masterbrowser еще не обновил спискиecho.echo.del 1.txt 2>nulnet view | for /F "tokens=1 delims=\\ " %%c in ('@find "\\"') do @(ping -n 1 %%c | Find "TTL">NUL && Echo ON - %%c >>1.txt || Echo OFF - %%c>>1.txt)echo.echo.type 1.txtpause>>nuldel /q 1.txt
net view-ip-ru.cmd
@ECHO OFFclsecho.echo.:: Выводит список компов в сети в виде Имя - Адрес - Доступные шары:: Если имя share-ресурса состоит из двух и более слов, отображения нет.:: Повторный запуск производить через 10-15сек, иначе сбоит.FOR /F "tokens=1 delims=\ " %%n IN ('net view^|FIND "\\"') DO (FOR /F "tokens=2 delims=[]" %%i IN ('ping -a -n 1 -w 0 %%n^|FIND "["') DO (ECHO %%i %%nREM ~ NET VIEW \\%%n|FIND " "FOR /F "tokens=1,2,3,4 delims= " %%a IN ('net view \\%%n^|FIND " "') DO IF "%%b"=="Диск" (ECHO %%b: \\%%n\%%a) ELSE IF "%%b"=="Печать" (ECHO %%b: \\%%n\%%a)))echo.echo.echo Сканирование подсети завершеноpause >nul
Комментариев нет:
Отправить комментарий