バッチファイルでインターネット接続を判定する

ALL
スポンサーリンク

Windowsでインターネットにアクセスできない場合に、タスクトレイのネットワーク接続インジケータが次のようなアイコンになります。
このようなインターネット接続状態を判定するバッチです。
curlコマンドを使えば、Windows標準機能のみを使ってバッチファイルで判定できます。

次のようにすれば判定できます。

@echo off
curl -s --head http://www.msftconnecttest.com/connecttest.txt >nul 2>&1
if errorlevel 1 (
    echo インターネットアクセスなし
) else (
    echo インターネットアクセスあり
)

Windowsがインターネットアクセスを判定している仕組みは、次のマイクロソフトblogの記載の通りです。

ネットワーク接続状態インジケーター (NCSI) の概要とトラブルシュート | Microsoft Japan Windows Technology Support Blog

判定方法のうち、上記バッチでは http://www.msftconnecttest.com/connecttest.txt がダウンロードできるかを用いています。
ネットワーク接続インジケータと同じ判定をするには、厳密には、ダウンロードしたファイルの中身が Microsoft Connect Test という文字列かを判定しなくてはいけませんが、connecttest.txt にアクセスできたら、まあ、インターネット接続できているだろう、と上記バッチではしています。

コメント