/k를 사용하여 명령 프롬프트 바로 가기가 닫히지 않도록 하는 방법은 무엇입니까?

/k를 사용하여 명령 프롬프트 바로 가기가 닫히지 않도록 하는 방법은 무엇입니까?

다음 스위치를 사용하여 다음 명령을 실행하는 바로가기를 만들려고 합니다. 명령이 충분히 오래 실행되기 전에 창이 닫힙니다. 창이 닫히지 않도록 바로가기의 대상 상자에 /k를 어디에 넣어야 하는지 알고 싶습니다. (나는 그것이 /k라고 생각하지만 어쩌면 다른 것일 수도 있습니다).

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

내 목표 필드는 다음과 같습니다.

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

하지만 /k가 어디로 가야 할지 모르겠습니다(/k라면). 누군가 나를 위해 올바른 구문으로 이것을 다시 작성할 수 있습니까?

답변1

매개 /k변수는 터미널 프로세스( )에 전달되어야 합니다 cmd.exe. 따라서 바로가기는 다음과 같아야 합니다.

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

참고: %COMSPEC%다음으로 해결됩니다.cmd.exe

답변2

/k당신이 언급한 주장은 에 대한 것이지 에 대한 cmd.exe것이 아닙니다 ping. 그래서 당신은 전화해야합니다 :

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

인수는 -t취소될 때까지 ping을 수행하도록 지정하고 -I매개변수는 TTL(Time-To-Live)을 지정합니다. 이 필드의 최대값은 TCP 사양당 255입니다.

/k논쟁이 에 대한 것임을 깨닫기 전에 cmd.exe배치 파일을 사용하여 이 답변을 작성했습니다. 이는 유익할 수도 있고 작업을 완료하는 또 다른 방법일 뿐이므로 가치가 있는 경우에 대비해 그대로 두겠습니다.


배치 파일 예 1:

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

그런 다음 바로가기를 사용하여 해당 배치 파일을 호출할 수 있습니다.

"c:\folder\batchfile.bat" 192.168.1.1

물론 드라이브, 폴더, 배치 파일 이름 및 IP 주소를 대체할 수 있습니다.

다음과 같은 구조를 사용하여 일련의 핑을 일괄 처리할 수도 있습니다.

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

인수를 사용하여 -n10번 ping한 다음 10번의 다른 배치로 다시 시작하기 전에 5초 동안 시간 초과를 수행합니다.

관련 정보