0

EDIT:タスクスケジューラを使用せずに修正を見つけました。インターネットが検出されなかった場合、wifiネットワークに自動的に接続します

@echo off 
:loop 
set addresses=192.168.1.1 
for %%a in (%addresses%) do ping %%a -n 1 > nul || netsh wlan add profile filename=C:\User\path\to\wireless\xml\profile.xml user=all 
timeout /t 5 
goto :loop 

それは私が途中であっていますが立ち往生になってきた5秒ごとに


を繰り返します。手動で実行したときにラップトップをネットワークに戻すことができるバッチファイルがすでにありますが、インターネットが検出されないと実行するようにしました。だから私は先に進んで、タスクスケジューラにトリガーを "Microsoft-Windows-NetworkProfile/Operational"というIDで10001(切断ID)のバインドでバインドしましたが、運が無かったのです。

私はそれが手動でインターネットから切断されるときだけ、無線カードがそれ自身の信号を落としたときではなく、トリガーすると信じています。私が何をすることができるかについての任意のアイデア?

OS:Windowsの8.1

ワイヤレスインターフェース:ケーブルはAC600デュアルバンドワイヤレスドングルを事項(SSIDへの自動接続を許可し、未知の理由のための接続を落とし続けていません)

+0

質問から作業コードを削除し、回答として投稿してください。次に、問題を解決したことを示す回答を受け入れます。 – Stephan

答えて

1

解決策を見つけました!これは何

@echo off 
:loop 
set addresses=192.168.1.1 
for %%a in (%addresses%) do ping %%a -n 1 > nul || netsh wlan add profile filename=C:\User\path\to\wireless\xml\profile.xml user=all 
timeout /t 5 
goto :loop 

はpingが一度アドレス(この場合には、内部アドレスはので、私はサイトからのDDoS攻撃の脅威を得ることはありません)であり、それはバックエラーで応答した場合、それは無線LANプロファイルをロードします。まず、あなたが(それだけで現在使用されているワイヤレスカードのプロファイルをロードする)を持つプロファイルか見て

netsh wlan show profiles 

を入力する必要がありますプロファイルを取得するには 。プロファイルの名前を見た後、あなたは、私はそれがデスクトップに保存されますし、そこからあなたがのファイルパスに一致するように、このコメントの上部に記載されているコードを変更することができると信じて

netsh wlan export profile name=[profile name] 

を入力して、プロファイルをダウンロードすることができますあなたのニーズに合わせてxmlファイル。

乾杯!

0

何バッチスクリプトについて定期的にpingを実行し、結果を検査しますか?

ping some.host > pinged.txt 
find "some string which occurs if the network went down" pinged.txt 

%errorlevel%が文字列が見つかったよりも0であり、接続が切断された場合。

関連する問題