最近、私のインターネット接続は本当に不満足なので、停止時間と停止時間についてはできるだけ多くのデータを収集しようとしています。私はいくつかの "コネクティビティモニタリング"プログラムを試しましたが、私が望むように動作しないので、私はそれを作ることにしました。バッチを使用したインターネット接続の確認
私はバッチ内の完全なnoobのだが、過去の時間のものをグーグルから私はこの思い付いた:
SET status="
:start_test
timeout 5
ping -n 2 -w 700 www.google.com | find "bytes="
IF %ERRORLEVEL% EQU 0 (
SET internet=Connected to the internet.
) ELSE (
SET internet=Not connected to the internet.
)
IF %status%==%internet%(
goto :start_test
) ELSE (
goto :teller
)
:teller
echo ------------------------------------------
echo %internet%
@echo %time%
echo ------------------------------------------
SET status=%internet%
goto :start_test
TL; DR-それはgoogle.comをピニングにより、インターネット接続を確認し、マッサージを書き込み毎回インターネット接続の状態が変化するたびに
それは動作しません私はそれを実行しようとすると、最初の数行を通過し、それ自体を閉じる理由を知らない。
ヘルプ
EDIT: それが機能するようになりました、これはファイルが(ちょうどMofiが言ったように)、今どのように見えるかです:
@echo off
SET "status="
:start_test
timeout 5
ping -n 2 -w 700 www.google.com | find "bytes="
IF %ERRORLEVEL% EQU 0 (
SET internet=Connected to the internet.
) ELSE (
SET internet=Not connected to the internet.
)
IF "%status%"=="%internet%" (
goto :start_test
) ELSE (
goto :teller
)
:teller
echo ------------------------------------------
echo %internet%
@echo %time%
echo ------------------------------------------
SET "status=%internet%"
goto :start_test
あなたは何を確認しているか注意する必要があります。これらのチェックでは、マシンがping情報を返しているかどうかだけが判断されます。それはなぜあなたに何も言わない。ルータのログとルータの設定を確認してください。あなたが投稿したスニペットの3つのものを変更する必要があります。 'SET status =" '' SET "status =" '、IF%status%==%インターネット%(' IF '%status% "= = "%internet%"( 'と' SET status =%インターネット%から 'SET"ステータス=%internet% "'。 – Compo
あなたが編集したバージョンで行った変更はまさに3つの変更私はコメントしてくれました。その理由から、それはMofi **に信用するのは少し不公平です。 – Compo