以下のスイッチを使用して次のコマンドを実行するショートカットを作成しようとしています。コマンドが十分に実行される前にウィンドウが閉じます。ウィンドウが閉じないようにするには、ショートカットのターゲット ボックスのどこに /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 回のバッチでやり直します。