Es ist ein bisschen unklar, mit welchem Problem Sie genau konfrontiert sind, da Sie keine Ausgabe oder keinen Screenshot von dem bereitstellen, was Ihnen nicht gefällt, aber ich werde die beiden wahrscheinlichsten Probleme erklären, die ich sehe:
Vorausgesetzt, Ihr Skript wird aufgerufen ping.bat
und sieht folgendermaßen aus:
ping example.com
dann cmd.exe
durchsucht / prüft der Interpreter ( ) die Pfade in der Umgebungsvariablen %PATH%
nach etwas, das aussieht ping
... und tut dies, indem er jedes Suffix anfügt, von %PATHEXT%
dem etwas wie enthält .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
. Also, nur ping
von den ping.bat
Leads zu einer Suche nach ping.com
ping.exe
ping.bat
und so weiter anrufen . Der Dolmetscher findet ein ping.bat
im aktuellen Arbeitsverzeichnis (Ihr ping.bat
) und ruft es auf.
Sie haben hier also eine schöne Rekursion : ping.cmd führt die erste Zeile aus, sucht nach "ping", findet "ping.cmd", führt die erste Zeile aus, sucht nach "ping", findet "ping.cmd", führt aus Die erste Zeile sucht nach "ping" und findet "ping.cmd" ...
Das zweite Problem, das Sie möglicherweise haben, ist Folgendes:
Der Interpreter der Batch-Datei wiederholt normalerweise die Befehle, die Sie in die .bat / .cmd-Datei geschrieben haben. So etwas ping www.superuser.com
sieht also so aus:
C:\Users\XYZ\Desktop>ping www.superuser.com
Ping wird ausgeführt für superuser.com [64.34.119.12] mit 32 Bytes Daten:
Antwort von 64.34.119.12: Bytes=32 Zeit=110ms TTL=46
Antwort von 64.34.119.12: Bytes=32 Zeit=107ms TTL=46
Wenn Sie C:\Users\XYZ\Desktop>ping www.superuser.com
die Ausgabe des Skripts @
entfernen möchten, müssen Sie entweder jeder Zeile ein (z. B. '@ping www.superuser.com') im Skript voranstellen oder ein @echo off
vor den Befehlszeilen einfügen wollen "leise" ausführen.
TL; DR;
Rufen Sie Ihre Bat-Dateien nicht wie vorhandene Programme auf.
-t
macht es.