接続状況を確認するために、サーバーにpingを実行する必要があることがよくあります。 pingの結果(出力)をテキストファイルに保存する方法を使用して、一日のpingの結果をテキストファイルに保存できます。
Windowsを使用していますXP SP3。
Pingの例:
ping 192.168.1.1 -t
(using windows' ping)
または
ping 192.168.1.1
(using cygwin)
たとえば、リダイレクトを使用します。
ping 192.168.1.1 -t > filename.txt
これにより、プログラムからのすべての(標準)出力がfilename.txt
にリダイレクトされます。存在しない場合は作成され、存在する場合は上書きされます。
>>
の代わりに>
を使用して、出力をファイルにリダイレクトし、append結果をファイルの最後にリダイレクトすることができます。上書きする代わりに(おかげでへ @ Jane T 通知用)。
これを行うと、notは通常の画面出力を受け取ります。
Pingの間隔を空けて、pingの時間を記録するには、スクリプトを実行します。
これは私が一緒に投げた簡単なWindowsバッチファイルです。時間を出力し、Googleにpingしてから、3秒間待ってから自分自身を繰り返します。私はnotバッチファイルのエキスパートです。問題が見つかった場合は、報告してください!そして、これはおそらくあなたが何をしているのかを達成するための「最良の」方法ではありません-それは本当に別の質問になるかもしれません。
@ECHO OFF
:LOOPSTART
time /T
ping www.google.com -n 4
sleep -m 3000
GOTO LOOPSTART
これを.bat
ファイルに保存し、必要に応じてpingターゲットと遅延時間を編集してから、リダイレクトを使用して.bat
を実行し、すべての出力をファイルに送ります。
このバッチファイルは決して終了しないが、 Ctrl + C その後 Ycmd
から実行した場合。 (あなたmustYを押すと、バッチファイルを停止するかどうかを尋ねられます-出力をリダイレクトしたために質問を表示できない場合でも! )
以下を使用できます。
> ping 192.168.1.1 -t > ping-results
コマンドプロンプトを使用している場合は、この形式を使用してテキストファイルにリダイレクトするだけです。
ping 192.168.1.1 > ping.txt
それでうまくいきます。
5秒ごとにgoogle.comにpingし、現在の時間で結果をログに記録するスクリプトを作成しました。ここでは、変数「commandLineStr」への出力を見つけることができます(インデックス付き)
@echo off
:LOOPSTART
echo %DATE:~0% %TIME:~0,8% >> Pingtest.log
SETLOCAL ENABLEDELAYEDEXPANSION
SET scriptCount=1
FOR /F "tokens=* USEBACKQ" %%F IN (`ping google.com -n 1`) DO (
SET commandLineStr!scriptCount!=%%F
SET /a scriptCount=!scriptCount!+1
)
@ECHO %commandLineStr1% >> PingTest.log
@ECHO %commandLineStr2% >> PingTest.log
ENDLOCAL
timeout 5 > nul
GOTO LOOPSTART
:: 1秒ごとにISPを呼び出し、日付、時刻、結果をテキストファイルに書き込み
@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
ping 8.8.8.8 -n 1 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART
また、pingの結果を表示したい場合は、このコードを使用できます
@ECHO OFF
:LOOPSTART
date /T >>Pingtest.log
time /T >>Pingtest.log
REM this line show you the ping results in display
ping 8.8.8.8 -n 1
REM this line print the ping results in the log file
ping 8.8.8.8 -n 10 >>PingTest.log
sleep -m 1000
GOTO LOOPSTART