Ich suche nach dem Code im Stapel, der es mir ermöglichen würde, den Fehlercode für "Anforderungszeitüberschreitung" in einen beliebigen Text zu ändern, den ich möchte

577
Wings

Ich möchte ein Ping-Skript erstellen, das anstelle von "request timeed out" etwas anderes wie "offline" zurückgibt.

Ich möchte, dass dies ausgegeben wird, während Ping nicht ausgeführt wird, nachdem der Befehl ausgeführt wurde.

Ich verwende Batchdateien für cmd

Ich möchte diesen Befehl, also wenn ich jemanden anpinge, sieht er geschmackvoller aus als mal nach einer Anfrage.

Ich versuche gerade, Befehle zu finden, die es mir ermöglichen, txt durch andere txt zu ersetzen. Ich war noch nicht erfolgreich, aber ich glaube, ich komme näher.

Ich experimentiere mit | Finden Sie "Zeitüberschreitung der Anforderung" und wenn das funktioniert, kenne ich immer noch nicht den Befehl, der es mir erlaubt, diesen Text durch das zu ersetzen, was ich will.

-2
Was hast du bisher versucht? dsstorefile1 vor 6 Jahren 4
Ich habe viele Dinge im Batch versucht, die scheinbar nicht funktionieren Wings vor 6 Jahren 0
Warum willst du das machen? Wenn Sie einen Server anpingen, der nicht vorhanden ist, ist er nicht offline. DavidPostill vor 6 Jahren 1
Bitte [bearbeiten] Sie Ihre Frage, um uns genau zu sagen, was Sie versucht haben. Zu sagen, dass Sie viele Dinge ausprobiert haben, hilft uns nicht zu wissen, was Sie versucht haben oder wo Sie feststecken. Twisty Impersonator vor 6 Jahren 1

1 Antwort auf die Frage

1
davidmneedham

Die Ausgabe von pingkann sed für Windows weitergeleitet werden :

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

Im obigen Beispiel ist der Text Request abgelaufen. wird durch Ersatztext ersetzt.

Nicht wirklich eine tragbare Lösung gibt es in Windows nicht. Appleoddity vor 6 Jahren 0
@Appleoddity `sed` ist in Windows standardmäßig nicht vorhanden, aber in dem von mir angegebenen Link ist eine kompilierte Version zum Herunterladen vorhanden. davidmneedham vor 6 Jahren 0
Mein Punkt ist, dass es nicht portabel ist. Voraussetzung ist die Installation eines Drittanbieterprodukts. Dies macht es weniger als wünschenswert. Dies kann leicht über die integrierte Funktionalität erfolgen. Meine persönliche Präferenz wäre, je nach Anwendungsfall, zunächst native Tools zu verwenden. Zum Beispiel möchte ich nicht sed auf 1000 Computern installieren, um dieses Skript auszuführen, oder es auf einem Dateiserver bereitstellen und Netzwerkkonnektivität erfordern. Ich sage nicht, dass es keine gültige oder gute Antwort ist, nur dass meine Präferenz die native Funktionalität für etwas von dieser Einfachheit ist. Appleoddity vor 6 Jahren 0
Powershell könnte auch verwendet werden, aber mir ist keine einfache Lösung bekannt, die integrierte Windows-Befehle verwendet. davidmneedham vor 6 Jahren 0
@davidmneedham was ist der Link? Wings vor 6 Jahren 0
wenn jemand den Befehl kennt oder eine Möglichkeit, den Text ohne Out-Party zu ändern, wäre das sehr nett Wings vor 6 Jahren 0
@Wings ping gibt einen Fehlerlevel zurück, wenn er erfolgreich ist oder nicht. Leiten Sie die Ausgabe von ping einfach auf NUL (`> NUL 2> & 1`) und` echo` um, je nachdem, welchen Text Sie wünschen, basierend auf einer bedingten 'if'-Anweisung, dann wiederholen Sie die Schleife. Niemand kann Code für andere hier schreiben. Sie müssen Ihnen zumindest recherchiert und versucht zeigen, wo Sie verwirrt sind, um Hilfe zu bekommen, wofür andere Sie gebeten haben. Appleoddity vor 6 Jahren 1
Ok, ich gebe den Code ein, den ich habe Wings vor 6 Jahren 0
@echo off cls: ping set / p Eingabe = IP / URL: ping% Eingabe% echo Drücken Sie eine beliebige Taste, um die Pause zu beginnen> nul cls GOTO Ping Wings vor 6 Jahren 0
Ich habe versucht, den sed Teil in bash nicht zu arbeiten Wings vor 6 Jahren 0
Und ich habe versucht, das zu schaffen, um zu funktionieren. Dienstag der letzten Woche. Ich habe Tutorials gesehen, die nie das haben, was ich will. Ich habe auf anderen Websites nachgeschaut, dass ich Fragen stellen kann, niemals Antworten, die den Code haben, der mich will Zahlen Sie 15 Dollar dafür und ich werde das nicht tun. Wings vor 6 Jahren 0
@Appleoddity ist das genug für dich um mir zu helfen? Wings vor 6 Jahren 0
@Wings Hören Sie, wir sind herzlich eingeladen, uns mit Ihren Fragen bei Superuser zu besuchen. Es gibt jedoch einige Grundregeln, die zu befolgen sind. Bitte lesen Sie [Ask] und BEARBEITEN Sie Ihre ursprüngliche Frage und fügen Sie alle relevanten Informationen hinzu, die Sie bereitstellen möchten, einschließlich Codebeispielen, Fehlermeldungen, Beispiele für das, wonach Sie suchen usw. Verwenden Sie die richtige Code-Formatierung, damit Ihre Frage klar und einfach ist lesen. Kommentare sind NICHT für Hin und Her Diskussion. So erhalten Sie eine Qualitätsantwort. Was Sie jetzt tun, ist nicht. Appleoddity vor 6 Jahren 1
Es tut mir leid, dass ich mit diesem Thema sehr frustriert war. Andy Ich möchte nicht bitter werden, also bin ich entschuldigt, dass ich darauf reagiert habe. Wings vor 6 Jahren 0
@Appleoddity Danke, dass ich mich mit meinen Antworten nicht so weit verärgert habe Wings vor 6 Jahren 0
Ok, ich habe vielleicht etwas gefunden, das helfen kann find / I “Zeitüberschreitung der Anforderung”, aber idk der Befehl zum Ersetzen dieses Textes. Wäre es vielleicht ein / oder \ r? Wings vor 6 Jahren 0
@Wings bearbeiten Sie Ihre Frage, um anzuzeigen, was Sie versucht haben. Es wäre auch hilfreich zu wissen, welche Plattform Sie verwenden und warum Sie dieses Verhalten wünschen. davidmneedham vor 6 Jahren 1
Wie sieht die Beschreibung der Frage aus? Wings vor 6 Jahren 0