Войти

Показать полную графическую версию : [решено] цикл в цикле route add не выполняется


achyorny
18-09-2017, 13:12
@echo off
setlocal enabledelayedexpansion

echo go > go.log

for /f "tokens=*" %%a in (go.txt) do call:label "%%a"
goto:eof

:label
for /f "tokens=3 delims=: " %%i in ('ping -n 1 %1^| findstr /r /c:" [0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*: "') do (
route add %%i 192.168.84.1
echo route add %%i 192.168.84.1 >> go.log
echo route add %%i 192.168.84.1
)

в go.txt домены построчно:
ya.ru
vk.com
...

route и echo не выполняются

Iska
18-09-2017, 13:38
achyorny, используйте тэг «code» для обрамления кода. «go.txt» нужно упаковывать в архив и прикладывать к сообщению.

У меня — выполняются.

achyorny
18-09-2017, 16:09
У меня — выполняются. »
дело в том, что у меня 1 вместо %%i
но должен быть айпи
у вас айпи подставляется?

Iska
18-09-2017, 16:38
у вас айпи подставляется? »
https://i.imgur.com/vR4NYqJ.png

дело в том, что у меня 1 вместо %%i »
Комментируете @echo off, открываете командную строку, запускаете исправленный пакетный файл и смотрите. Пробуйте выполнять отдельные команды, как в моём примере — от «ping -n 1 ya.ru» и выше по уровню вложенности, каждый раз внимательно рассматривая полученный результат на предмет возможных затыков.

achyorny
18-09-2017, 16:47
все я понял, не то парсил
у меня с этой сети превышен интервал выдавало
поэтому оно не видело сейчас все ок спс
http://prntscr.com/gmm7ew

@echo off
cls
setlocal enabledelayedexpansion

echo go > go.log

for /f "tokens=*" %%a in (go.txt) do call:label "%%a"
goto:eof

:label
for /f "tokens=4 delims=: " %%i in ('ping -n 1 %~1^| findstr /r /c:" [0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*:"') do (
echo route add %%i 192.168.84.1 >> go.log
route add %%i 192.168.84.1
echo route add %%i 192.168.84.1
)




© OSzone.net 2001-2012