Я ищу код в пакетном режиме, который позволил бы мне изменить код ошибки для пинга «время ожидания запроса» на любой текст, который я хочу

406
Wings

Я хотел бы сделать скрипт ping, который вместо того, чтобы сказать «истекло время ожидания запроса», возвращает что-то еще, например «offline».

Я хочу, чтобы это выводилось во время выполнения команды ping, а не после завершения команды.

Я использую командные файлы для CMD

Я хочу эту команду, поэтому, когда я пингую кого-то, она выглядит более аккуратно, чем время ожидания запроса.

В настоящее время я пытаюсь найти команды, которые позволяют мне заменить txt на другой txt, но я пока не добился успеха, но думаю, что все ближе.

Я экспериментирую с | найти «Тайм-аут запроса», и если это сработает, я все еще не знаю команду, которая позволила бы мне заменить этот текст на то, что я хочу.

-2
что ты уже испробовал? dsstorefile1 6 лет назад 4
Я пробовал много вещей в партии, ни одна, кажется, не работает Wings 6 лет назад 0
Почему ты хочешь это сделать? Если вы пропингуете сервер, который не существует, он не отключен ... DavidPostill 6 лет назад 1
Пожалуйста, [отредактируйте] свой вопрос, чтобы рассказать нам конкретно, что вы пытались. Сказать, что вы пробовали много вещей, не поможет нам узнать, что вы пытались или где вы застряли. Twisty Impersonator 6 лет назад 1

1 ответ на вопрос

1
davidmneedham

Вывод pingможет быть передан sed для Windows :

ping example.com | sed "s/Request timed out./Replacement Text/" 

В приведенном выше примере текст запроса истек. заменяется на текст замены.

На самом деле в Windows не существует портативного решения. Appleoddity 6 лет назад 0
@Appleoddity `sed` по умолчанию не существует в Windows, но существует скомпилированная версия для загрузки по предоставленной мной ссылке. davidmneedham 6 лет назад 0
Я хочу сказать, что это не портативно. Требуется установка стороннего продукта для работы. Это делает это менее чем желательно. Это легко сделать с помощью встроенных функций. Мое личное предпочтение, в зависимости от варианта использования, было бы в первую очередь использовать нативные инструменты. Например, я бы не хотел устанавливать sed на 1000 компьютеров для запуска этого сценария или ставить его на файловом сервере и требовать подключения к сети. Я не говорю, что это неверный или хороший ответ, просто я предпочел бы исходную функциональность в первую очередь для такой простоты. Appleoddity 6 лет назад 0
Можно также использовать Powershell, но я не знаю простого решения с использованием встроенных команд Windows. davidmneedham 6 лет назад 0
@Davidmneedham, что за ссылка? Wings 6 лет назад 0
если кто-то знает команду или способ изменить текст без 3-х сторон, это было бы очень приятно Wings 6 лет назад 0
Пинг @Wings возвращает уровень ошибки, если он успешен или нет. Просто перенаправьте вывод команды ping в NUL (`> NUL 2> & 1`) и` echo` любого текста, который вы хотите, основываясь на условном операторе `if`, затем выполните цикл и повторите. Никто не собирается писать код для других здесь. Вы должны показать вам, по крайней мере, исследовали и попробовали, и где вы смущены, чтобы получить помощь, это то, что другие попросили вас сделать. Appleoddity 6 лет назад 1
Хорошо, я наберу код у меня есть рН Wings 6 лет назад 0
@echo off cls: ping set / p Input = IP / URL: ping% Input% echo нажмите любую клавишу, чтобы начать с паузы> nul cls GOTO Ping Wings 6 лет назад 0
Я попробовал sed в bash не получилось Wings 6 лет назад 0
И я пытался заставить это работать во вторник на прошлой неделе. Я смотрел учебники, у которых никогда не было того, что я хочу. Я смотрел на других сайтах, которые я могу задавать вопросы, а не на любые ответы. заплатить 15 долларов за это, и я не собираюсь этого делать. Wings 6 лет назад 0
@Appleoddity достаточно, чтобы ты мне помог? Wings 6 лет назад 0
@Wings Послушайте, вы можете посетить нас в Superuser с вашими вопросами. Но есть некоторые основные правила, которым нужно следовать. Пожалуйста, прочитайте [спросите] и РЕДАКТИРУЙТЕ свой оригинальный вопрос и добавьте всю соответствующую информацию, которую вы хотели бы предоставить, включая примеры кода, сообщения об ошибках, примеры того, что вы ищете, и т. Д. Используйте правильное форматирование кода, чтобы ваш вопрос был ясным и простым читать. Комментарии НЕ для обратной и обратной дискуссии. Вот так вы получите качественный ответ. То, что вы делаете сейчас, это не так. Appleoddity 6 лет назад 1
Извините, я был очень разочарован этой темой, Энди. Я не хочу отрываться от злобного мгновенного, так что извините за мой ответ, это их способ для вас дм? Wings 6 лет назад 0
@Appleoddity спасибо, что не разозлились на мои ответы. Wings 6 лет назад 0
Итак, я мог бы найти что-то, что может помочь | find / I «Request timed out», но idk команда для замены этого txt, это может быть / или \ r? Wings 6 лет назад 0
@Wings отредактируйте ваш вопрос, чтобы показать, что вы пробовали. Также было бы полезно узнать, какую платформу вы используете и почему вы хотите этого поведения. davidmneedham 6 лет назад 1
Как выглядит описание вопроса? Wings 6 лет назад 0