如何使用 /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

你提到的论点/kcmd.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争论的焦点之前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 次。

相关内容