如何使用 /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(生存時間)。根據 TCP 規範,該欄位的最大值為 255。

在我意識到/k參數是 for之前cmd.exe,我使用批次檔寫出了這個答案。它可能會提供豐富的信息,而且只是完成工作的另一種方式,所以我會保留它,以防它值得。


批次檔範例1:

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

然後您可以使用快捷方式呼叫該批次檔:

"c:\folder\batchfile.bat" 192.168.1.1

當然,您可以替換磁碟機、資料夾、批次檔名和 IP 位址。

您也可以使用以下結構批次處理一系列 ping:

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

它使用-n參數 ping 10 次,然後逾時 5 秒,然後再開始另一批 10 次。

相關內容