突然ですが、以下の状態って結構あったりしますか?
ないですか。そうですよねー。
日本だとこんな風にハングりませんよね。
おい、ここグアテマラ、バングラディシュのWiFiか?って感じになりませんか?
※大好きな国です。
こんな状態を解決するバッチを作ってみました。
wlan.bat
@echo off
rem ---------------------------------
rem 作業ディレクトリ
set DIRPATH=C:\wlan
rem ping先アドレス
set PINGIP=<任意のどっか>
rem SSIDの指定
set SSID=<自分のSSID>
rem WLANインターフェィス名の指定
set WLANIF="ワイヤレス ネットワーク接続"
rem 実行ログ吐き出し有無(0無効or1有効)
set LOG=1
rem ---------------------------------
cd %DIRPATH%
rem 疎通テスト
ping -n 1 %PINGIP%
if ERRORLEVEL 1 (
netsh wlan show interface > wlan.txt
for /f "delims=" %%a in (wlan.txt) do (
if "%%a"==" SSID : %SSID%" (
netsh int set int %WLANIF% disable
netsh int set int %WLANIF% enable
if "%LOG%" == "1" (
echo 実行しました。%date% %time% >> log.log
)
exit 0
)
)
)
exit 0
やってることはシンプルで何らかの原因でハングっている状態ならば
無線IFを無効、有効にするだけです。
つまり、無線IFを無効、有効で直る症状でのみ有効なバッチです。
あとはWindowsのタスクスケジューラに登録すればOK。
登録は以下を参考に
https://qiita.com/Richard_Roe/items/44e16841f16ee40c6113