Wie verwende ich /k, um das Schließen einer Eingabeaufforderungsverknüpfung zu verhindern?

Wie verwende ich /k, um das Schließen einer Eingabeaufforderungsverknüpfung zu verhindern?

Ich versuche, eine Verknüpfung zu erstellen, die den folgenden Befehl mit den folgenden Schaltern ausführt. Das Fenster schließt sich, bevor der Befehl lange genug ausgeführt werden kann. Ich möchte wissen, wo ich /k in das Zielfeld der Verknüpfung einfügen muss, damit sich die Fenster nicht schließen. (Ich glaube, es ist /k, aber vielleicht ist es etwas anderes.)

ping XXX.XXX.XXX.XXX -t -l 25565

Mein Zielfeld sieht folgendermaßen aus:

"C:\Windows\System32\PING.EXE" /k 10.98.56.1 -t -I 25565

Aber ich weiß nicht, wo das /k hin soll (falls es /k ist). Kann das jemand mit der richtigen Syntax für mich umschreiben?

Antwort1

Der /kParameter muss an den Terminalprozess ( cmd.exe) übergeben werden. Ihre Verknüpfung sollte also folgendermaßen aussehen:

%COMSPEC% /k C:\Windows\System32\PING.EXE XXX.XXX.XXX.XXX -t -I 25565

Hinweis: %COMSPEC%wird aufgelöst zucmd.exe

Antwort2

Das /kvon Ihnen erwähnte Argument gilt für cmd.exe, nicht für ping. Sie müssen also Folgendes aufrufen:

C:\Windows\System32\cmd.exe /k "c:\windows\system32\ping.exe" -t -I 255 192.168.1.1

Das -tArgument gibt an, dass Sie pingen, bis es abgebrochen wird, und der -IParameter gibt eine TTL (Time-To-Live) an. Der Maximalwert dieses Felds beträgt 255 gemäß TCP-Spezifikation.

Bevor mir klar wurde, dass das /kArgument für war cmd.exe, habe ich diese Antwort mithilfe von Batchdateien geschrieben. Es könnte informativ sein und ist nur eine weitere Möglichkeit, die Arbeit zu erledigen. Ich lasse es also stehen, falls es sich lohnt.


Batchdatei Beispiel 1:

@ECHO OFF
ping -t -I 255 %1
pause
exit

Anschließend können Sie die Batchdatei mit der Verknüpfung aufrufen:

"c:\folder\batchfile.bat" 192.168.1.1

Natürlich würden Sie Laufwerk, Ordner, Batchdateinamen und IP-Adresse ersetzen.

Sie können auch eine Reihe von Pings mit einer Struktur wie dieser bündeln:

@echo off
:loop
cls
ping -n 10 -I 255 %1
timeout 5
goto :loop

Dabei wird das -nArgument verwendet, um 10 Mal zu pingen. Anschließend wird ein Timeout von 5 Sekunden ausgeführt, bevor mit einem weiteren Batch von 10 Mal von vorne begonnen wird.

verwandte Informationen