¿Cómo usar / k para evitar que se cierre un acceso directo del símbolo del sistema?

2

Estoy tratando de hacer un acceso directo que ejecutará el siguiente comando con los siguientes modificadores. La ventana se cierra antes de que el comando pueda ejecutarse lo suficiente. Quiero saber dónde colocar el / k en el cuadro de destino del acceso directo para evitar que se cierren las ventanas. (Creo que es / k pero tal vez sea otra cosa).

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

Mi campo objetivo se ve así:

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

Pero no sé a dónde se supone que debe ir / k (si es / k). ¿Alguien puede reescribir esto con la sintaxis correcta para mí?

Ornitorrinco
fuente
Nota: -Ino es una opción válida para Ping en Windows, y Ping -i(que es válido, es TTL) solo acepta un valor máximo de 255.
Ƭᴇcʜιᴇ007

Respuestas:

2

El /kparámetro debe pasarse al proceso terminal ( cmd.exe). Entonces, su atajo debería verse así:

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

Nota: %COMSPEC%se resolverá acmd.exe

pesado
fuente
Ser pedante es %ComSpec%;)
DavidPostill
1

El /kargumento que mencionaste es para cmd.exe, no ping. Entonces tienes que llamar:

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

El -targumento especifica que hará ping hasta que se cancele, y el -Iparámetro especifica un TTL (Time-To-Live). El valor máximo de este campo es 255 por especificación TCP.

Antes de darme cuenta de que el /kargumento era para cmd.exe, escribí esta respuesta usando archivos por lotes. Puede ser informativo y es solo otra forma de hacer el trabajo, así que lo dejaré en caso de que valga la pena.


Ejemplo de archivo por lotes 1:

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

Entonces podría llamar a ese archivo por lotes con el acceso directo:

"c:\folder\batchfile.bat" 192.168.1.1

Por supuesto, sustituiría la unidad, la carpeta, el nombre del archivo por lotes y la dirección IP.

También podría agrupar una serie de pings utilizando una estructura como esta:

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

Que utiliza el -nargumento para hacer ping 10 veces, luego hace un tiempo de espera durante 5 segundos antes de comenzar de nuevo con otro lote de 10.

NDC
fuente