PDA

Показать полную графическую версию : не срабатывает скрипт из cmd


alvibol
04-12-2015, 13:05
Добрый день, при вводе данной команды в консоли:

netsh interface ipv4 show addresses name="N10" | find "IP"


получаю строку с ip-адресом интерфейса N10 такого вида:

IP-адрес 192.168.1.2


Необходимо вычленить оттуда собственно адрес, для этого создал cmd-файл и пытаюсь вывод данной команды передать в переменную (пока всю строку!) и соответственно отобразить в консоли:

For /F "usebackq " %%I In (
`netsh.exe interface ipv4 show addresses name="N10" ^| find.exe "IP"`
) Do Set str=%%I
echo %str%
pause


но получаю строку хелпа команды netsh.
Помогите разобраться что делаю не так.

Iska
04-12-2015, 15:39
alvibol, надо полагать, «netsh.exe» каким-то образом некорректно воспринимает командную строку. Попробуйте убрать «name=» из неё. Т.е., наподобие:
@echo off

for /f "usebackq tokens=2" %%i in (
`netsh.exe interface ipv4 show addresses "Подключение по локальной сети" ^| find.exe "IP-адрес"`
) do set sAddress=%%i
if defined sAddress echo [%sAddress%]

Так у меня отрабатывает.

Foreigner
04-12-2015, 16:32
alvibol,

@echo off
setlocal

set "c=netsh interface ipv4 show addresses name^="N10""
for /f "tokens=1,3 delims=- " %%i in ('%c% ^| findstr "IP"') do set "%%i=%%j"
echo %ip%

alvibol
09-12-2015, 17:56
Спасибо всем откликнувшимся, очень помогли!




© OSzone.net 2001-2012