
Мне нужна помощь в создании .bat-файла, который должен:
1) Зайдите на 192.168.0.1 или tplinklogin.net (адрес моего Wi-Fi роутера)
2) Введите/вставьте имя пользователя и пароль.
3) Нажмите/запустите «Отключить», подождите 1-3 секунды.
4) Нажмите/запустите «Подключиться», подождите 3-5 секунд.
5) Нажмите/запустите «Обновить» — на самом деле не обязательно.
6) Выход
решение1
я нашелэта ссылка, что, кажется, более или менее решает проблему, хотя скрипт Linux выше работал гораздо лучше. Я обнаружил, что код завершения процесса ближе к концу не работал должным образом, поэтому я удалил его, и все стало хорошо. Я также изменил команды сервиса в соответствии с обсуждением ниже и закончил так:-
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd"
WScript.Sleep 100
WshShell.AppActivate "C:\Windows\system32\cmd.exe"
WScript.Sleep 1000
WshShell.SendKeys "telnet 192.168.0.1~"
WScript.Sleep 1000
WshShell.SendKeys "admin~"
WScript.Sleep 1000
WshShell.SendKeys "admin~"
WScript.Sleep 2000
WshShell.SendKeys "wan set service pppoa_0_38_0_d --protocol pppoa --conntrigger manual~"
WScript.Sleep 12000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "wan set service pppoa_0_38_0_d --protocol pppoa --conntrigger always~"
WScript.Sleep 6000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "logout~"
WScript.Sleep 6000
WshShell.SendKeys "~"
WScript.Sleep 1000
WshShell.SendKeys "exit~"
Вы просто копируете это в файл с .vbs
расширением, редактируете его, чтобы обновить IP-адрес маршрутизатора, имя пользователя и пароль для входа, а также имя и протокол службы. Для последнего вам нужно будет войти telnet
вручную и ввести:
wan show service
В вашем cmd
скрипте вызовите отредактированный скрипт с помощью:
start [/wait] reconnect.vbs
Используйте /wait
, если вы хотите, чтобы скрипт был завершен, прежде чем вы перейдете к следующей команде.
Одна из проблем, которую я обнаружил, заключается в том, что если вызывать маршрутизатор, когда он находится в сети, он остается в отключенном состоянии, но увеличение задержки между двумя вызовами службы исправляет эту проблему, и вам, возможно, придется настроить эту или некоторые другие задержки.