Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Список кто не в сети

Ответить
Настройки темы
CMD/BAT - [решено] Список кто не в сети

Новый участник


Сообщения: 12
Благодарности: 0


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: sbar1
Дата: 18-05-2013
Есть список ПК в текстовом файле (pc.txt). Пытаюсь сделать написать скрипт, что бы ping брал файл pc.txt и те ПК которые НЕ в сети собрал в другой файл (offline.txt).
Смысл в том, что бы узнать какие ПК не в сети на момент запуска скрипта и сохранить их имена в файл (ping разрешен, FW отключен). Получилось наполовину, пингуется по списку)


Кто что может подсказать??
vbs, bat.
ps не желателен
Спасибо)

Отправлено: 12:37, 18-05-2013

 

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подсказал один хороший человек, может кому пригодится:
Код: Выделить весь код
@echo off
cd /d "%~d0%~p0"
if exist offline.txt del offline.txt
for /f %%i in (pc.txt) do call :pingcomp %%i
echo Finished
pause
goto :EOF

:pingcomp
ping %1 -n 1 1>nul 2>&1
if errorlevel 1 goto bad
echo Ping %1 OK
goto :EOF
:bad
echo %1 >>offline.txt
echo Ping %1 FAIL
goto :EOF

Отправлено: 16:55, 18-05-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
Set Spis=R:\Delete\Comp.txt
Set Noping=R:\Delete\noping.txt
Del "%Noping%" 2>nul

FOR /F "usebackq delims=" %%C IN ("%Spis%") DO Echo %%C & ping %%C >Nul 2>Nul || Echo %%C>>"%Noping%"
Если не надо видеть, какие компы пропинговываются, уберите Echo %%C &

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 18-05-2013 в 18:50. Причина: Echo %%C>>"%Noping%"

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:56, 18-05-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Например, так:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sFileIn=%~1
if not defined sFileIn set sFileIn=pc.txt

set sFileOut=%~2
if not defined sFileOut set sFileOut=offline.txt

if exist "%sFileIn%" (
	>nul copy nul "%sFileOut%"
	for /f "usebackq" %%i in ("%sFileIn%") do (
		ping.exe -n 1 "%%i" | >nul find.exe /i "TTL=" || >>"%sFileOut%" echo %%i
	)
) else (
	echo Machines file list [%sFileIn%] not found.
)

endlocal
exit /b 0

Имена входного и выходного файла можете также указывать параметрами пакетного файла.
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:06, 18-05-2013 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Список кто не в сети

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Диагностика - Список залогиненных пользователей в сети Delirium Программное обеспечение Windows 0 29-02-2012 07:25
Доступ - Пропал список компов в сети A4V Сетевые технологии 5 05-05-2009 21:07
получить список занятых ip в сети dark_n Сетевые технологии 2 06-07-2007 09:17
Список компов в сети? Список открытых папок на компе? DANTIST Программирование и базы данных 3 12-06-2003 10:05




 
Переход