Wie pinge ich einen Server nur einmal innerhalb einer Batchdatei an?

8

Ich möchte lernen, Batch-Skripte zu schreiben, und habe versucht, ein Skript zu erstellen, das diesen Befehl automatisch einmal in der Befehlszeile ausführt:

%Vor%

und zeigt den Ping an, so würde es so aussehen:

%Vor%

Mein Problem ist, dass dies zur Folge hat, wenn ich diesen Befehl als Skript ausführe:

Mein Problem ist, dass es den Befehl ping überhaupt nicht ausführen wird, sondern fügen Sie den Befehl unbegrenzt oft in das Konsolenfenster ein, wie es im Screenshot gezeigt wird.

Ich habe gerade eine neue Datei erstellt, ping www.google.de -t darin geschrieben, sie als ping.bat Datei gespeichert und mit Doppelklick ausgeführt.

Also wie schreibe ich die Batch-Datei, um diesen Befehl nur einmal zu starten und das Ping-Ergebnis anzuzeigen?

    
Peter 03.08.2014, 17:47
quelle

10 Antworten

14

Geben Sie in das Eingabeaufforderungsfenster ping /? ein und lesen Sie die kurze Hilfeausgabe, nachdem Sie auf RETURN gedrückt haben. Oder werfen Sie einen Blick auf

  • Ping - Windows XP Dokumentation
  • Ping - Microsoft TechNet-Artikel

Erklärung für die Option -t von Microsoft gegeben:

  

Pingt den angegebenen Host, bis er gestoppt wird. Um Statistiken anzuzeigen, geben Sie Control-Break ein. Um zu stoppen geben Sie Control-C ein.

Vielleicht möchten Sie Folgendes verwenden:

%Vor%

Oder um zuerst zu prüfen, ob ein Server verfügbar ist:

%Vor%     
Mofi 03.08.2014, 18:16
quelle
28

Ich bin sicher, dass Sie die resultierende Fledermausdatei als "ping.bat" benannt haben müssen. Wenn Sie Ihre Datei umbenennen, sagen Sie pingXXX.bat. Es wird definitiv funktionieren. Probieren Sie es aus.

Meine Batch-Datei enthält nur den folgenden Code

%Vor%

mit Dateiname als ping.bat

mit Dateiname abc.bat

    
Dhirendra Khanka 07.02.2015 06:37
quelle
4

Ich bin mir nicht sicher, was Sie genau versuchen, aber Ihr veröffentlichter Code sollte gut funktionieren. Falls der Befehl nicht angezeigt werden soll, fügen Sie @echo off beim Start Ihres Skripts hinzu. Wenn ich den unten stehenden Code in einer Datei namens test.bat habe und die Eingabeaufforderung als test.bat ausführen soll, funktioniert es einwandfrei.

%Vor%

Um Ihre EDIT: zu adressieren, bei der das Hauptproblem% ping command ist, war nicht erkennbar. Der Befehl ping befindet sich normalerweise unter C:\Windows\System32\ , wobei C:\ das Stammverzeichnis ist. Falls das root-Verzeichnis anders ist, können Sie das root-Verzeichnis mit %SystemRoot% -Umgebungsvariablen aufrufen und wie

sagen %Vor%

Eine andere Möglichkeit zu sehen, ob der Befehl, den Sie ausführen möchten, erkennbar ist oder nicht, ist die Verwendung von WHERE -Befehl wie unten

%Vor%

Wenn der Befehl erkennbar ist; es wird den Pfad wie

ausgeben %Vor%

Else führt zu einem Fehler

    
Rahul 03.08.2014 17:57
quelle
2

Ich weiß, warum, Sie verwenden den Dateinamen "Ping" und Sie verwenden den Code "Ping", es versucht nur, sich selbst zu starten, da das ausgewählte Verzeichnis in dem die Datei ist, wenn Sie es tatsächlich pingen möchten , setze das vor dem ping-Befehl: "cd C: \ Windows \ system32", die eigentliche Datei, die den Server anpingt, ist da drin!

    
JacobRocks12 12.06.2015 18:15
quelle
2

Wenn Sie den Namen "ping.bat" verwenden möchten, ist ein kleiner Trick, diesen Code zu verwenden:

%Vor%

Füge einfach das "cd" hinzu und es geht dir gut ...;)

    
Phantom 21.07.2015 17:21
quelle
1

Für bash (OSX) ping google.com -c 1 (die Suche in der Suche brachte Sie hierher)

    
Ashley Coolman 13.12.2016 10:00
quelle
0

Ich habe Mofi-Beispiel verwendet und einige Parameter geändert, nein, du kannst -t

machen

@% SystemRoot% \ system32 \ ping.exe -n -1 4.2.2.4

    
deadManN 02.01.2015 13:39
quelle
0

Sie müssen in diesem Fall nur darüber nachdenken, in welchem ​​Verzeichnis Sie sich auf Ihrem Computer befinden. Ihr Befehlszeilenfenster zeigt C:\users\rei0d\desktop\ als Ihr aktuelles Verzeichnis an.

Das einzige, was Sie wirklich tun müssen, ist:
Entferne die desktop indem du "nach oben gehst" mit dem Befehl cd .. .

Der vollständige Befehl wäre also:

%Vor%     
Tor 19.10.2016 21:30
quelle
0

Sie haben zwei Skripte namens test.bat und ping.bat im selben Ordner:

Skript test.bat enthält eine Zeile:

%Vor%

Skript ping.bat enthält folgende Zeilen:

%Vor%

Bei der Ausführung von "test.bat" lautet das Ergebnis auf CMD:

%Vor%

Warum? Weil "test.bat" die "ping.bat" aufruft ("ping google.com" wird als Aufruf des Skripts "ping.bat" interpretiert). Gleiches passiert, wenn das Skript "ping.bat" "ping google.com" enthält. Das Skript wird sich selbst in einer Schleife ausführen.

  

Einfache Möglichkeiten, dies zu vermeiden:

     
  1. Benenne dein Skript nicht "ping.bat".
  2.   
  3. Sie können das Skript als "ping.bat" benennen, aber innerhalb des Skripts verwenden Sie "ping.exe google.com" anstelle von "ping google.com".
  4.   
    
DragosD 25.10.2016 09:09
quelle
0

Nur schreibe den Befehl "ping your server IP" ohne das doppelte Zitat. Speichern Sie den Dateinamen unter Dateiname.bat und führen Sie dann die Batchdatei als Administrator aus

    
Mahfuze 03.04.2017 04:17
quelle

Tags und Links