Показать полную графическую версию : [решено] цикл в цикле 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 не выполняются
achyorny, используйте тэг «code» для обрамления кода. «go.txt» нужно упаковывать в архив и прикладывать к сообщению.
У меня — выполняются.
achyorny
18-09-2017, 16:09
У меня — выполняются. »
дело в том, что у меня 1 вместо %%i
но должен быть айпи
у вас айпи подставляется?
у вас айпи подставляется? »
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
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.