バッチファイルを使用すると、次のようなことが可能になります。
ping google.com
成功した場合はECHOを実行してくださいインターネットに接続しています
それ以外の場合はエコーを返しますインターネットに接続していません
次のスニペットを使用できます。
@echo off
Ping www.google.de -n 1 -w 1000
if errorlevel 1 echo Not connected
次のスクリプトは、インターネットがオフラインになるたびに、(システムクロックからの)時間と「インターネットオフライン」を繰り返しチェックし、C:\ Internet.txtにあるログファイルに書き込みます。残念ながら、ログファイルの最新の行は最後に表示されます-上部に表示する方法がわかりません;)
ところで:私は3Gドングル(2Gインターネットを使用)を使用していたため、待機時間(-w)を20秒に設定したので、インターネットが本当にダウンしているか、何か他の問題があったかどうかを確認する唯一の方法は20秒でした。 .. 5秒間5000に変更するか、「-w 20000」をすべて削除してデフォルトのままにしてください。
@echo off
:START
ping -n 4 4.2.2.2 -w 20000 >nul
if %errorlevel% == 1 (
echo Internet offline >> C:\Internet.txt
Time /t >> C:\Internet.txt
)
Timeout /t 30
@set errorlevel = 0
GOTO START
以下は、それを開始するのに役立つスクリプトです。
注:システムが英語でない場合は、find
コマンドを使用してpingの出力からシステムの言語の対応する文字列にReply from
をフィルタリングするスクリプトの行を変更する必要があります。
@CShulzからの回答に基づいて、接続がない場合にのみ「未接続」を出力するスクリプトを次に示します。それ以外の場合は、30秒ごとに静かにテストをループします。最初のpingは接続をテストし、問題がある場合はエラーメッセージを出力します。 2番目のpingは、localhostにpingすることにより、30秒の待機を追加します。
@echo off
:loop
ping www.google.com -n 1 -w 5000 > nul
if errorlevel 1 echo Not connected
ping -n 30 127.0.0.1 > nul
goto loop
@echo off
echo Checking connection
ping -n 1 www.google.com >nul
if errorlevel 1 (
cls
echo Failed
pause>nul
exit
)
cls
echo Success!
pause>nul
exit
echo Testing Internet Connection of google.com
@echo off
:loop
ping google.com -n 1 -w 5000 > nul
if errorlevel 1 echo %date% - %time% Not connected >> pingtestlog.txt
ping -n 30 127.0.0.1 > nul
goto loop
@echo off
:loop
ping www.google.com -n 1 -w 5000 >NUL
if errorlevel 1 echo Not connected
goto Loop