Как то так должно работать
ipconfig | find "IP Address" > tempip.txt set /p tvar=< tempip.txt :untilloop do redial here ipconfig | find "IP Address" > tempip.txt set /p newip=< tempip.txt if %tvar%==%newip% goto untilloop
Мой провайдер предоставляет мне интернет-соединение с динамическим IP. Когда мне нужно сменить IP-адрес, я просто отключаю подключение удаленного доступа с помощью файла bat (rasdial "имя подключения удаленного доступа" / отсоединение) и снова подключаюсь с тем же файлом bat с помощью команды rasdial "имя подключения удаленного доступа" username password. В основном это работает, но иногда раздражает, когда я просматриваю, что мой IP не изменился. Это случается, скажем, один раз в каждые 10-15 попыток. Может ли существовать файл bat, который при исполнении отмечает текущий IP-адрес, затем отключает Интернет, затем повторно подключается и затем проверяет, изменился ли IP-адрес или нет, и, если IP-адрес не изменился, он возвращается к разъединению и повторному подключению, пока IP-адрес не изменится.
Как то так должно работать
ipconfig | find "IP Address" > tempip.txt set /p tvar=< tempip.txt :untilloop do redial here ipconfig | find "IP Address" > tempip.txt set /p newip=< tempip.txt if %tvar%==%newip% goto untilloop
Если вам нужно сделать это в летучей мыши, вы можете использовать for
цикл с выводом ipconfig
в вашем set
блоке. Захватите свой начальный IP-адрес перед тем, как отключиться, и протестируйте его, используя тот же процесс, как только вы подключитесь.
Я не уверен, почему вам «нужно» изменить свой IP-адрес. Мне было бы интересно понять причины, поскольку они не так очевидны, как вы указываете, что они должны быть в вашем комментарии.
Обращались ли вы в службу поддержки вашего интернет-провайдера?
В основном это работает, но иногда раздражает, когда я просматриваю, что мой IP не изменился. Это случается, скажем, один раз в каждые 10-15 попыток.
Возможно, вам придется подождать, чтобы продлить значительную часть времени аренды, хотя, если вы получите другой адрес в 90 +% случаев, возможно, нет.
Я обычно больше заботился о сохранении адреса, поэтому не уверен, что вам следует делать, чтобы этого избежать. Тем не менее, они могут быть информативными:
Если вы можете менять свой MAC-адрес каждый раз, когда запускаете скрипт, вы непременно получите новый IP-адрес от DHCP-сервера. Шансы на конфликты MAC довольно низки.
Хммм. Как обойти ограничения загрузки Rapidshare и время ожидания ?
В ответ на отрицательное голосование по этому ответу ...
Если я правильно помню, ОП описал свои причины изменения IP-адреса для обхода блокировки RapidShare ...
It often happens that if you connect too fast, then you get the same IP address.
On my ISP, for example, a delay of at least 15 minutes is required for a new IP, but may take longer.
If you have many network cards than the ipconfig method may not be good. Also you can eliminate the temporary file wit following logic:
for /f "tokens=3" %%i in ( 'netsh interface ip show addresses "Connection Name"^| findstr "IP"' ) do set ip=%%i :dountill rasdial "dial-up connection name" /disconnect rasdial "dial-up connection name" username password for /f "tokens=3" %%i in ( 'netsh interface ip show addresses "Connection Name"^| findstr "IP"' ) do set ipnew=%%i :delay a sec or so PING 1.1.1.1 -n 1 -w 2 >NUL if %ip%==%newip% goto dountill