/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 アドレスを置き換えることになります。

次のような構造を使用して、一連の ping をバッチ処理することもできます。

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

これは-n引数を使用して 10 回 ping を実行し、5 秒間のタイムアウトを実行してから、別の 10 回のバッチでやり直します。

関連情報