[Quote]

    mat.86
  • 14134
  • Longevity: 8 years 7 months
  • Posts: 225
  • REPUTATION:1

    [+] [-]
Пытаюсь сделать батник который бы вытаскивал информацию из реестра о ip адресе сетевой карты.
Первый вариант такой
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\{33303D36-0D03-4C8E-A82E-7C5C29A5AE0E}"^|Find /I "DefaultGateway"`) Do Echo %%J>>text.txt
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\{33303D36-0D03-4C8E-A82E-7C5C29A5AE0E}"^|Find /I "SubnetMask"`) Do Echo %%J>>text.txt
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\{33303D36-0D03-4C8E-A82E-7C5C29A5AE0E}"^|Find /I "IPAddress"`) Do Echo %%J>>text.txt
Но папка {33303D36-0D03-4C8E-A82E-7C5C29A5AE0E} на каждом пк разная, как сделать чтобы искались во всех подпапках?

[Quote]

    nikzzzz
  • 215
  • Longevity: 10 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
mat.86
@echo off
For /F "usebackq" %%a In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces"`) Do (
  For /F "UseBackQ Tokens=2*" %%b In (`Reg Query "%%a"^|Find /I "SubnetMask"`) Do (
    >text.txt Echo %%c
    For /F "UseBackQ Tokens=2*" %%b In (`Reg Query "%%a"^|Find /I "DefaultGateway"`) Do >>text.txt Echo %%c
    For /F "UseBackQ Tokens=2*" %%b In (`Reg Query "%%a"^|Find /I "IPAddress"`) Do >>text.txt Echo %%c
  )
)
Пришлось только поменять порядок вывода, что-бы не выводилась лишняя информация

[Quote]

    mat.86
  • 14134
  • Longevity: 8 years 7 months
  • Posts: 225
  • REPUTATION:1

    [+] [-]
Ander_73, добавил ключ S вроде сработал
nikzzzz, выводит информацию только из нижнего каталога. Между DefaultGateway и IPAddress выводит такую строчку
¦Ё¬ ўлў®¤  Є®¬ ­¤ ­  нЄа ­ (ECHO) ®вЄ«о祭.


Last edited by mat.86 on 2019-07-26 15:57; edited 1 time in total

[Quote]

    nikzzzz
  • 215
  • Longevity: 10 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
mat.86
68959выводит информацию только из нижнего каталога.
Тогда задачу не понял.
@echo off
For /F "usebackq" %%a In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces"`) Do (
    For /F "UseBackQ Tokens=2*" %%b In (`Reg Query "%%a"^|Find /I "SubnetMask"`) Do >text.txt Echo;%%c
    For /F "UseBackQ Tokens=2*" %%b In (`Reg Query "%%a"^|Find /I "DefaultGateway"`) Do >>text.txt Echo;%%c
    For /F "UseBackQ Tokens=2*" %%b In (`Reg Query "%%a"^|Find /I "IPAddress"`) Do >>text.txt Echo;%%c
)

[Quote]

    mat.86
  • 14134
  • Longevity: 8 years 7 months
  • Posts: 225
  • REPUTATION:1

    [+] [-]
Задача вообще такая: вытягивать информацию об ip-адресе из под windows PE, например перед переустановкой системы.
И выводить ее в таком виде:
-----------------------------------------------------------------------
название сетевой1
ip-адрес
маска подсети
шлюз
днс
группа
мак адрес (если он менялся)
-----------------------------------------------------------------------
название сетевой2
ip-адрес
маска подсети
шлюз
днс
группа
мак адрес (если он менялся)
-----------------------------------------------------------------------
и далее

[Quote]

    mat.86
  • 14134
  • Longevity: 8 years 7 months
  • Posts: 225
  • REPUTATION:1

    [+] [-]
Давно уже хотел что то подобное сделать. Обратился к знакомому программисту который меня всегда выручал, но он перешел полностью на линукс. Посоветовал мне батник написать. Я всегда вручную это делал, пути я наизусть знаю, но для удобства пользования windows pe, хотелось бы сделать утилиту

[Quote]

    nikzzzz
  • 215
  • Longevity: 10 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
mat.86
А чем не устраивает "ipconfig /all" ?l

[Quote]

    mat.86
  • 14134
  • Longevity: 8 years 7 months
  • Posts: 225
  • REPUTATION:1

    [+] [-]
Да хотел чтобы подключаться к другой системе из windows pe через runscanner

[Quote]

    mat.86
  • 14134
  • Longevity: 8 years 7 months
  • Posts: 225
  • REPUTATION:1

    [+] [-]
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces" /s^|Find /I "IPAddress"`) Do Echo %%J>>text.txt
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces" /s^|Find /I "SubnetMask"`) Do Echo %%J>>text.txt
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces" /s^|Find /I "DefaultGateway"`) Do Echo %%J>>text.txt
вот так все ищет, но получается каша, помогите подвести под такой вид:
-----------------------------------------------------------------------
название сетевой1
ip-адрес
маска подсети
шлюз
днс
группа
мак адрес (если он менялся)
-----------------------------------------------------------------------
название сетевой2
ip-адрес
маска подсети
шлюз
днс
группа
мак адрес (если он менялся)
-----------------------------------------------------------------------
и далее

[Quote]

    nikzzzz
  • 215
  • Longevity: 10 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
68966HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces
68966Да хотел чтобы подключаться к другой системе из windows pe, теперь понимаю что эти команды не натравляются на файлы реестра на другом диске
Если для себя, можно просто из-под WinPe сохранить ветку реестра гостевой системы в reg файл, не слишком красиво, но вполне достаточно.

[Quote]

    mat.86
  • 14134
  • Longevity: 8 years 7 months
  • Posts: 225
  • REPUTATION:1

    [+] [-]
Я всегда вручную это делал, пути наизусть знаю, но для удобства пользования windows pe, хотелось бы сделать утилиту.
А через runscaner не будет работать?

[Quote]

    mat.86
  • 14134
  • Longevity: 8 years 7 months
  • Posts: 225
  • REPUTATION:1

    [+] [-]
я хотел с windows pe вытягивать информацию с другого windows который в данный момент не запущен, перенаправляя батник по средствам утилиты runscaner, которая умеет перенаправлять на другой реестр.
Но через runscaner не получается перенаправить. Я не знаю есть ли команда чтобы вытащить информацию прямо из файла реестра который лежит обычно по пути "c:\windows\system32\config\system" файл system без расширения

[Quote]

    mat.86
  • 14134
  • Longevity: 8 years 7 months
  • Posts: 225
  • REPUTATION:1

    [+] [-]
Вот так более нормально выводит
for /f "usebackq tokens=8 delims=\" %%A in (`reg query "HKLM\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces" /se #`) do call :PROCESS "%%A"
goto :EOF
:PROCESS
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1"^|Findstr /l "IPAddress"`) Do Echo %%J>>text.txt
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1"^|Findstr /l "SubnetMask"`) Do Echo %%J>>text.txt
For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1"^|Findstr /l "DefaultGateway"`) Do Echo %%J>>text.txt
echo ->>text.txt
echo ----------------------------------------------->>text.txt
echo ->>text.txt
echo ->>text.txt
goto :EOF
выводятся значения и не точных имен, из-за этого наверно каша. Например команда поиска "IPAddress" выводит и DhcpIPAddress. Можно ли это исключить?

[Quote]

    nikzzzz
  • 215
  • Longevity: 10 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
mat.86,
68983Я не знаю есть ли команда чтобы вытащить информацию прямо из файла реестра который лежит обычно по пути "c:\windows\system32\config\system"
Да в общем не проблема, подключается куст
reg  load  hklm\tmp-system c:\windows\system32\config\system
Из hklm\tmp-system вытаскивается нужная инфа, далее куст отключается
reg  unload hklm\tmp-system

[Quote]

    nikzzzz
  • 215
  • Longevity: 10 years
  • Posts: 3114
  • REPUTATION:127

    [+] [-]
mat.86,
68985Например команда поиска "IPAddress" выводит и DhcpIPAddress. Можно ли это исключить?
Добавьте пробел
Findstr /l " IPAddress"

Page 1 of 5


Display posts:    

Current time is: 06-Feb 16:10

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum