AbramovEV
28-01-2014, 10:38
Добрый день форумчане!!
Прошу вашей помощи.
Имеется два файла .бат
1.bat
@echo off
for /f "tokens=2-3 delims=:(" %%i in ('ipconfig /all^|find "IPv4"') do (
set IP =%%i
for /f "tokens=1-4 delims=. " %%A in ("%%i") do (
set ok1=%%A
set ok2=%%B
set ok3=%%C
set ok4=%%D
))
set /a ok4+=1
for /L %%i in (%ok4%, 1, 255) do (
netsh interface ip set address name="LAN" static %ok1%.%ok2%.%ok3%.%%i 255.255.255.0 192.168.101.1
ping ya.ru |>NUL find /i "TTL" && exit /b || echo %ok1%.%ok2%.%ok3%.%%i FAILED
)
ОПИСАНИЕ:
Батник определяет текущий ip адрес протокола TCP/IPv4 (Например: 192.168.101.10)
Затем разделяет его на 4 откета
Затем прибавляет к последнему откету +1 позицию в ip адресе (Например: 192.168.101.11)
Затем пингует сайт ya.ru
Если: есть ответ от сайта ya.ru - то сохраняем данный ip адрес
Если: нет ответа от сайта ya.ru - возращаемся к смене четвертого откета ip адреса на +1 позицию, и опять ping ya.ru
Вот такой цикл. Если есть какие нарекания по коду, данному выше, исправьте пожалуйста.
Разобравшись со своим интернетом, я выяснил, что у меня прозрачный прокси сервер и "ping ya.ru" не проходит, тогда появился второй бат файл:
2.bat
SetLocal EnableExtensions
set use_proxy=yes
set http_proxy=192.168.101.1
:: папка с утилитой WGET
set bin=c:\bin\wget
call :CheckConnection && echo Podklyuchen k seti.
pause & Exit /B
:CheckConnection
:: Proverka podklyucheniya
if /i "%use_proxy%" neq "yes" goto test_ping
set "ProxyProtocol=-e http_proxy=%ProxyServer%"
"%bin%\wget.exe" %wgetProxy% %ProxyProtocol% --no-cache --no-dns-cache --tries=3 --spider "http://www.ya.ru" >NUL 2>&1
set "err=%errorlevel%"
if "%err%" neq "0" ;;; echo. Ne Podklyuchen k seti*.
Exit /B %err%
ОПИСАНИЕ:
Данный бат файл, при помощи wget выдергивает через прокси сайт ya.ru
Если есть связь с сайтом, то пишет Podklyuchen k seti
Если нет связи с сайтом, то пишет Ne Podklyuchen k seti*
Так вот, необходимо код второго батника внедрить в первый, так что бы получился следующий алгоритм:
1. Нашел текущий ip
2. Поменял на +1 позицию
3. ПАУЗА 7 секунд
(Можно использовать ПАУЗУ в виде) ping -n 1 -w 7000 192.168.254.254 >nul
4. Тест wget
5. ЕСЛИ: Podklyuchen k seti, то сохраняем данный ip и закрыть батник
ЕСЛИ: Ne podklyuchen k seti*, то опять меняем ip на +1, ПАУЗА 7 секунд, тест wget
ЕСЛИ: нет ответа более 6 секунд от wget ( какой то timeout задать), то менять ip дальше на +1, опять ПАУЗА 7 секунд, тест wget, и так далее.
ПОМОГИТЕ СОВЕТАМИ РЕБЯТА!!!!! ЕСЛИ КТО ПОМОЖЕТ, МОГУ ОТБЛАГОДАРИТЬ НЕБОЛЬШИМ БОНУСОМ В ВИДЕ ПОПОЛНЕНИЯ БАЛАНСА СОТОВОГО ТЕЛЕФОНА :( :sorry:
Жду ваших комментов!!! :oszone:
Прошу вашей помощи.
Имеется два файла .бат
1.bat
@echo off
for /f "tokens=2-3 delims=:(" %%i in ('ipconfig /all^|find "IPv4"') do (
set IP =%%i
for /f "tokens=1-4 delims=. " %%A in ("%%i") do (
set ok1=%%A
set ok2=%%B
set ok3=%%C
set ok4=%%D
))
set /a ok4+=1
for /L %%i in (%ok4%, 1, 255) do (
netsh interface ip set address name="LAN" static %ok1%.%ok2%.%ok3%.%%i 255.255.255.0 192.168.101.1
ping ya.ru |>NUL find /i "TTL" && exit /b || echo %ok1%.%ok2%.%ok3%.%%i FAILED
)
ОПИСАНИЕ:
Батник определяет текущий ip адрес протокола TCP/IPv4 (Например: 192.168.101.10)
Затем разделяет его на 4 откета
Затем прибавляет к последнему откету +1 позицию в ip адресе (Например: 192.168.101.11)
Затем пингует сайт ya.ru
Если: есть ответ от сайта ya.ru - то сохраняем данный ip адрес
Если: нет ответа от сайта ya.ru - возращаемся к смене четвертого откета ip адреса на +1 позицию, и опять ping ya.ru
Вот такой цикл. Если есть какие нарекания по коду, данному выше, исправьте пожалуйста.
Разобравшись со своим интернетом, я выяснил, что у меня прозрачный прокси сервер и "ping ya.ru" не проходит, тогда появился второй бат файл:
2.bat
SetLocal EnableExtensions
set use_proxy=yes
set http_proxy=192.168.101.1
:: папка с утилитой WGET
set bin=c:\bin\wget
call :CheckConnection && echo Podklyuchen k seti.
pause & Exit /B
:CheckConnection
:: Proverka podklyucheniya
if /i "%use_proxy%" neq "yes" goto test_ping
set "ProxyProtocol=-e http_proxy=%ProxyServer%"
"%bin%\wget.exe" %wgetProxy% %ProxyProtocol% --no-cache --no-dns-cache --tries=3 --spider "http://www.ya.ru" >NUL 2>&1
set "err=%errorlevel%"
if "%err%" neq "0" ;;; echo. Ne Podklyuchen k seti*.
Exit /B %err%
ОПИСАНИЕ:
Данный бат файл, при помощи wget выдергивает через прокси сайт ya.ru
Если есть связь с сайтом, то пишет Podklyuchen k seti
Если нет связи с сайтом, то пишет Ne Podklyuchen k seti*
Так вот, необходимо код второго батника внедрить в первый, так что бы получился следующий алгоритм:
1. Нашел текущий ip
2. Поменял на +1 позицию
3. ПАУЗА 7 секунд
(Можно использовать ПАУЗУ в виде) ping -n 1 -w 7000 192.168.254.254 >nul
4. Тест wget
5. ЕСЛИ: Podklyuchen k seti, то сохраняем данный ip и закрыть батник
ЕСЛИ: Ne podklyuchen k seti*, то опять меняем ip на +1, ПАУЗА 7 секунд, тест wget
ЕСЛИ: нет ответа более 6 секунд от wget ( какой то timeout задать), то менять ip дальше на +1, опять ПАУЗА 7 секунд, тест wget, и так далее.
ПОМОГИТЕ СОВЕТАМИ РЕБЯТА!!!!! ЕСЛИ КТО ПОМОЖЕТ, МОГУ ОТБЛАГОДАРИТЬ НЕБОЛЬШИМ БОНУСОМ В ВИДЕ ПОПОЛНЕНИЯ БАЛАНСА СОТОВОГО ТЕЛЕФОНА :( :sorry:
Жду ваших комментов!!! :oszone: