NoIZz
30-07-2012, 18:03
нужно разделить строку полученную с помощью 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
как быть?
Спасибо
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
как быть?
Спасибо