![]() |
Разделение строки с ip-адресами из реестра
нужно разделить строку полученную с помощью reg query
set INTERFACEID={0591ECA8-29A1-4154-9900-1BB692EB26BB} for /f "tokens=3" %%i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\%INTERFACEID%" /v "IPAddress" ^| findstr "IPAddress"') do set IPSTR=%%i ( ^| findstr "IPAddress" использую - потому как например у XP REG.EXE выдает строку со своей версией - ! REG.EXE VERSION 3.0 на выходе в IPSTR имеем например 192.168.1.20\0192.168.2.20 (данные REG_MULTI_SZ) если в windows server 2003, windows 7 у reg.exe есть стандартная опция /se, позволяющая изменить стандартный разделитель \0 в выводе (например /se #), то у windows xp этого нет. такая конструкция не работает for /f "tokens=1,2 delims=\0" %i in ("192.168.1.20\0192.168.2.20") do echo %i %j как быть? Спасибо |
Цитата:
|
Так понятно - это из командной строки а не из батника
В батнике с %%i то же не работает если в ip адресе есть нули for /f "tokens=1,2 delims=\0" %%i in ("192.168.1.20\0192.168.2.20") do echo %%i %%j вывод: 192.168.1.2 192.168.2.2 for /f "tokens=1,2 delims=\0" %%i in ("192.168.10.20\0192.168.20.20") do echo %%i %%j вывод: 192.168.1 .2 |
не знаю куда написать, может кто поможет, в принципе проблема схожая
есть переменная вида 192.168.0.15 нужно разбить на два значения первое - 192.168.0. а второе - 15 общая задача такова - вводится ИП и некоторые другие параметры, и исходя из дополнительных параметров, ип адрес меняется на определенное значение к примеру я ввел ИП для переменной IP - 10.57.100.18 потом ввел какое то значение другой переменной, например 24 в результате нужно вывести что IP=10.57.100.42 Я думал разбить переменную на 2 переменных и к последней прибавлять необходимое число. как это можно организовать? пытался через for/ ,но как то не поехало |
Код:
@echo off |
NoIZz,
Код:
@Echo Off |
Цитата:
|
Цитата:
|
Время: 14:07. |
Время: 14:07.
© OSzone.net 2001-