|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Ping с условием и выводом в файл |
|
CMD/BAT - Ping с условием и выводом в файл
|
Новый участник Сообщения: 30 |
Доброго дня, помогите написать скрипт, который бы пинговал список адресов с привязанным именем, например ping 192.168.1.15 (Мария) Если Мария онлайн вывести в файл строку типа "14.12.2023 11.05 Мария онлайн"
|
|
Отправлено: 08:06, 14-12-2023 |
Ветеран Сообщения: 4553
|
Профиль | Отправить PM | Цитировать Что-нибудь типа такого:
@echo off SetLocal EnableExtensions EnableDelayedExpansion For /F "Tokens=1,* Delims= " %%a In ('type "%~dp0list.txt"') Do ( ping -n 2 %%a | find /i "TTL=" 2>nul >nul If !errorlevel! EQU 1 (echo.%%a %%b offline.) else (echo.%%a %%b online.) ) |
Отправлено: 08:38, 14-12-2023 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 226
|
Профиль | Отправить PM | Цитировать Вариант на powershell:
param ( $date = "{0:dd.MM.yyyy_HH.mm.ss}" -f (get-date), #текущая дата $file = "Patch to\fileping.txt", #список адресов $only = "Patch to\online.txt" #кто онлайн ) ForEach ($i in (Get-Content $file -Encoding utf8)) { $ip,$is = ($i).Split(" ") $im = $is -replace '\(|\)' ping -n 1 -w 10 $ip > $null if($LASTEXITCODE -eq 0) { Add-Content $only -Encoding utf8 -Value $date' '$im' онлайн' } } |
Отправлено: 12:21, 16-12-2023 | #3 |
Ветеран Сообщения: 4553
|
Профиль | Отправить PM | Цитировать Упс, про дату и время не увидел, исправляюсь:
@echo off SetLocal EnableExtensions EnableDelayedExpansion For /F "Tokens=1,* Delims= " %%a In ('type "%~dp0list.txt"') Do ( call :getdatetime ping -n 2 %%a | find /i "TTL=" 2>nul >nul If !errorlevel! EQU 0 (echo.!datetime! %%a %%b online.) else (echo.!datetime! %%a %%b offline.) ) GoTo :EOF :getdatetime set datetime=%date:~-10%-%time:~0,2%.%time:~3,2%.%time:~6,2% |
Отправлено: 14:46, 16-12-2023 | #4 |
Старожил Сообщения: 226
|
Профиль | Отправить PM | Цитировать Кстати, в последнее время возросла тенденция на использование ИИ. Задал ему вопрос топикстартера, слово в слово, ответ выдал скриптом на python:
import os import datetime addresses = { "192.168.1.15": "Мария", "192.168.1.16": "Иван", "192.168.1.17": "Елена" } current_date = datetime.datetime.now().strftime("%d.%m.%Y %H:%M") with open("ping_log.txt", "a") as file: for address, name in addresses.items(): response = os.system("ping -n 1 " + address) if response == 0: file.write(f"{current_date} {name} онлайн\n") else: file.write(f"{current_date} {name} офлайн\n") |
|
Отправлено: 09:57, 20-12-2023 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - поиск и добавление текста в файл с условием | Sta1917 | Скриптовые языки администрирования Windows | 8 | 06-07-2016 17:07 | |
CMD/BAT - Удаление файлов и папок по списку с выводом результата в файл | Sub-Zero | Скриптовые языки администрирования Windows | 0 | 08-12-2015 23:12 | |
CMD/BAT - запись ping в файл команда в одну строку... | White-Lion | Скриптовые языки администрирования Windows | 7 | 06-04-2015 12:03 | |
Проблема с выводом видеоизображения | kizin84 | Непонятные проблемы с Железом | 3 | 01-05-2013 01:42 | |
Delphi - Проблема с с выводом... | ultrakiller | Программирование и базы данных | 5 | 05-09-2011 08:57 |
|